Problème avec AppleScriptTask

Anonyme
2020-08-21T13:32:59+00:00

Bonjour, j'ai un problème avec la fonction AppleScriptTask dans Excel pour Mac. Plus précisément j'ai codé deux AppleScript différents, un pour définir une variable globale avec une valeur fournie par VBA, et le second pour enregistrer mon classeur automatiquement dans un dossier de mon choix. Mon problème réside dans le fait que le premier appel à la fonction AppleScriptTask se déroule sans soucis, alors que le second me renvoie une erreur "Erreur d'exécution 5, argument ou appel de procédure incorrect". 

Voici la macro en question sous VBA :

Sub Creation_Dossier_mac()

    Dim script As Variant

    Dim scriptReturn As Variant

    Exercice_comptable = Year(Now) - 1 & "-" & Year(Now)

    Nom_utilisateur = Application.UserName

    'appelle un apple script pour créer de nouveauyx fichier dans le dossier correspondant

    CheminDossier = ":User:TEST:Desktop:TEST" '":Users:TEST:One Drive - SARL Maison Branche:Gestion des stocks BRASSERIE" " & Nom_utilisateur & "

    Annee_Exercice = Exercice_comptable

    'script = AppleScriptTask("CreationDossier.scpt", "exercice", Annee_Exercice)

    MsgBox CheminDossier & " " & Annee_Exercice

    'script = AppleScriptTask("CreationDossier.scpt", "exercice", Annee_Exercice)

    'MsgBox script

    handleName = "creationDossier"

    scriptReturn = AppleScriptTask("Test.scpt", handleName, CheminDossier)

    'script = AppleScriptTask("CreationDossier.scpt", "creation_dossier", CheminDossier, Annee_exercice)

End Sub

Et voici le Script AS :

on creationDossier(CheminDossier) --annee_exercice)

set annee_exercice to "2019-2020"

set ListeMois to {"OCTOBRE", "NOVEMBRE", "DECEMBRE", "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE"}

tell application "System Events"

make new folder at folder CheminDossier with properties {name:"Exercice Comptable" & (annee_exercice as string)}

make new folder at folder (CheminDossier & ":Exercice Comptable" & (annee_exercice as string)) with properties {name:"Factures"}

make new folder at folder (CheminDossier & ":Exercice Comptable" & (annee_exercice as string)) with properties {name:"Suivi Client"}

make new folder at folder (CheminDossier & ":Exercice Comptable" & (annee_exercice as string)) with properties {name:"Sauvegardes et graphiques"}

repeat with mois in ListeMois

make new folder at folder (CheminDossier & ":Exercice Comptable" & (annee_exercice as string) & ":Factures") with properties {name:(mois as string)}

end repeat

end tell

end creationDossier

Je précise que les scripts AS sont stockés dans le dossier com.microsoft.Excel et que en exécutant seulement les scripts ils fonctionnent parfaitement. Le problème vient donc de la fonction ApplScriptTask.

Quelqu'un aurait une idée de ce qui pourrait coincer dans l'exécution de la fonction?

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. Anonyme
    2020-08-23T07:51:24+00:00

    Premières remarques (avant même de lancer la macro) :

    Ton chemin d'accès n'est pas correct. Dans les versions actuelles d'Office (2016 et 2019) on n'utilise plus les anciens chemins (type "Macintosh HD:Users:UTILISATEUR:Desktop") mais les chemins POSIX (type "/Users/UTILISATEUR/Desktop"). Personnellement, je mettrais aussi le dernier séparateur dans cette variable, plutôt que de la répéter dans l'Applescript.

    Ta variable "CheminDossier" devrait donc être : /Users/TEST/Desktop/TEST/

    Dans l'Applescript, il faut évidemment supprimer les deux-points sur toutes les lignes contenant ":Exercice Comptable" et remplacer les deux-points de ":Factures" par le slash...

    Moyennant ces petites adaptations, la macro fonctionne correctement :

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2020-08-21T16:42:38+00:00

    Je regarderai ça plus en détail quand j'aurai un peu de temps (ce soir ?) mais il me semble que le problème vient de l'emplacement où le classeur doit être enregistré. Tu ne précises pas où se trouve le dossier com.microsoft.Excel dans lequel est stocké ton Applescript. Est-ce bien dans ~/Bibliothèque/Application Scripts ?

    Les contraintes imposées par Apple dans les dernières versions de macOS restreignent pas mal les possibilités d'accès par des applications tierces. Si tu n'as pas encore exploré **les pages qu'y consacre Ron de Bruin**, je te suggère d'y jeter un oeil, il y a beaucoup d'informations à en tirer...

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire