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 :

Logiciel "Pages" et applescript


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut Logiciel "Pages" et applescript
    Bonjour à ceux qui me liront.

    Je viens de m'inscrire et ne suis pas sûr que ce message soit à la bonne place, si ce n'est pas le cas, veuillez m'en excuser par avance.

    Voilà ce qui m'amène.

    J'ai un dossier comprenant environ 500 documents écrits avec le traitement de texte "Pages" d'Apple.
    Afin de mettre ces documents sur mon site de Généalogie et qu'ils soient lisibles par tout le monde j'ai décidé de les passer en .pdf et d'automatiser ce passage à l'aide d'un script que voilà.

    Je coince sur la commande "Close" de Pages qui ne passe pas au delà de la première boucle avec le message suivant:

    Erreur dans Pages*: Il est impossible d’obtenir document "Nom_du_document.pages".

    Note: Nom_du_document est une variable "text.pages" qui change avec chaque incrémentation de boucle.

    "close" seul ne ferme rien, "close + nom_du_document" non plus, seul "close document + nom_du_document" ferme la première fois de la boucle et met le message d'erreur ensuite.

    Le reste fonctionne, alors si quelqu'un peut me dire où l'instruction blesse, je lui en serai reconnaissant.

    Ci-dessous le script complet.

    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
    set chemin_in to "Travail:Alain Françoise:Alain:Généalogie:Actes:Décès:"
    tell application "Finder"
     
    	--select folder chemin_in
    	count folder chemin_in
    	set nombre_actes to the result
    	set boucle to 0
     
     
    	repeat nombre_actes times
    		set boucle to boucle + 1
    		set nom_acte to the name of file (boucle) of folder chemin_in
    		open (document file nom_acte in folder chemin_in)
     
    		set chemin_out to "Travail:Alain Françoise:Alain:Généalogie:Actes:Décès pdf:"
    		--display alert chemin_out message boucle giving up after 1
     
    		tell application "Pages"
     
    			save front document in chemin_out & nom_acte as "SLDocumentTypePDF"
    			close document nom_acte
     
    		end tell
    		--close Finder window 1
     
    	end repeat
    end tell

  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 Logiciel "Pages" et applescript
    Bonsoir Baral,
    Je te suggère simplement de faire un : "Close front document"

    Si ton "Save front document..." adresse bien la fenêtre active, (ce qui semble être le cas car ton document est bien converti en PDF) alors la notion de "front document" doit aussi marcher pour le close.

    Cordialement

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2
    Par défaut
    Bonjour, et merci, "close front document" marche en effet à condition d'ajouter "saving no" pour éviter que la boucle ne soit interrompue par Pages.

    Pour ne pas mourir idiot, si quelqu'un a une explication logique au fait que Pages n'accepte pas "close document (NomDuDocument)" dans cette boucle je suis preneur.

    Cordialement

    Alain

  4. #4
    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 Close document
    Bonjour Baral,
    Il me semble que le close document attends un autre type d'argument que le nom du fichier : en l'occurrence une fenêtre et pas un document.
    Pour toi, les 2 représentent la même chose, mais par pour AppleScript:
    - l'un est un titre (fermer un titre n'a pas de sens)
    - l'autre un fenêtre (OK !)

    Le fait de mettre "front window" donne un argument qui est une fenêtre

    Eventuellement : close (first document whose path is "/Volumes/.../Monfichier.xxx")
    Cette instruction permet bien de demander à Applescript de fermer la première fenêtre dont le chemin de fichier est indiqué entre les guillemets.
    Là encore, tu adresses une fenêtre, mais pas un titre....

    Cordialement

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