IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Choose from list en boucle utilisable dans toutes apps … (multi copy) [AppleScript]


Sujet :

AppleScript

  1. #1
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut Choose from list en boucle utilisable dans toutes apps … (multi copy)
    Bonjour,

    Je récupère une liste de text via le presse papier: ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    --Set the clipboard to {"1","2","3","4","5"}
    set MyTextList to the clipboard as list
    set DefaultItem to 1
    tell application "System Events"
    repeat
       set MyTxtList to (choose from list of MyTextList with prompt "Texte à copier" default items {item DefaultItem of MyTextList} cancel button name "Terminé" multiple selections allowed {true}) as string
     
       if MyTxtList = "false" then
          display dialog "Processus terminé"
          error number -128
       else
          set myResult to MyTxtList
          tell application id "com.adobe.InDesign"
             activate
             repeat
                set MyError to ""
                try
                   set contents of selection to myResult
                on error
                   display dialog "Mauvaise manipulation" & return & "Recommencer"
                   set MyError to "Erreur"
                end try
                if MyError is "" then exit repeat
             end repeat
          end tell
       end if
    end repeat
    end tell
    ---> j'ai abrégé le code pour exemple
    Le problème est que je voudrais pouvoir interagir entre la boite de dialog "Choose from list" losrqu'elle est ouverte et mon application Indesign
    afin de pouvoir sélectionner les éléments sur ma page …
    Lorsque le scpt est lancé dans la palette de script de InDesign, les actions faites sur la page sont bloqués et se font une fois que le script est terminé
    Ce qui n'est pas le cas lorsque je lance le scpt du bureau par ex.

    Quel est la bonne démarche afin d'utiliser "Choose from list" sur n'importe quelles applications, me permettant de mettre des points d'insertion ou de selection
    pour les items voulu de la liste de la boîte de dialogue ???

    Merci d'avance
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonsoir,
    Lorsque tu lances ton script via InDesign, InDesign transfert le contrôle à ce script. C'est la raison pour laquelle il n'est plus "actif".
    Comme tu l'as constaté, le problème ne se pose pas lorsque tu lances ton script via l'Editeur Applescript, car, dans ce cas, le script et InDesign sont 2 process indépendants, qui peuvent donc fonctionner en parallèle.

    Pour résoudre cela, je suggère que ton script ne soit pas lancé par InDesign, mais qu'il soit inséré dans un service Automator qui, lui, prend et remplace le texte sélectionné.
    Le script sera donc lancé en tant que service via un click droit/service sur le texte sélectionné dans InDesign.
    Ce script doit effectuer les taches suivantes:
    - affichage de la liste des textes de remplacement dans ta liste
    - remplacement du texte sélectionné dans le document InDesign (cela suppose une bonne gestion des erreurs dans le script: un doc InDesign est-il ouvert ? une portion de texte est-elle sélectionnée ? ...)
    - Fin du script (donc fin du service Automator, donc retour sur InDesign)

    A la fin du script, tu as tout le contrôle dans InDesign pour sélectionner un autre texte et relancer le service via un clic droit.

    Cordialement

  3. #3
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour PBELL,

    Merci de votre réponse
    j'ai tardé à répondre car j'avais fait un script similaire moins pointu qui marchait sur Catalina
    aujourd'hui mon ordi est passé sous monterey (et M1)
    mon ancien script posait aussi problème sur cette ordi sous monterey/M1

    pour résoudre le problème après recherche j'ai rajouter Activate derrière =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tell application "System Events"
       Activate
    j'ai enregistré mon script en app puis je l'ai placé dans le dossier des scripts InDesign
    en effectuant le script via Indesign, OS X m'a redemandé de valider les droits
    et la tout marche

    j'ai tient compte de votre réponse qui pourrait m'aider pour un éventuel contournement.

    et merci d'être toujours présent pour applescript car à ma connaissance je crois que vous êtes le seul expert a vous occuper de ce forum et a y répondre

    Cordialement
    Ryu
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/02/2010, 17h02
  2. [XL-2007] [débutante VBA] trouver la liste des images utilisée dans une feuille
    Par EmmanuelleC dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/10/2009, 13h46
  3. Liste des variables utilisées dans un .m
    Par 65days dans le forum MATLAB
    Réponses: 3
    Dernier message: 15/09/2009, 20h45
  4. où déclarer une fonction utilisée dans toutes mes jsp ?
    Par aurelientp dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 22/02/2008, 10h38
  5. Réponses: 15
    Dernier message: 24/05/2005, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo