AppleScript/Textedit - save - Autorisation

butler95

Membre confirmé
9 Août 2011
12
0
30
Bonjour à tous ,

Depuis mon dernier post, j'ai bien avancé (voir:Apple Script Lecture de Fichier CSV pour des infos sur le projet). J'ai reussi à m'en sortir avec cette question de .csv et de variable. Mais maintenant, un nouveau problème se pose. Je n'arrive absolument pas à enregistrer ce fichu fichier texte (Le document «*1.csv*» n’a pas pu être exporté sous le nom «*test.txt*». Vous n’avez pas l’autorisation.). Il semblerait que je ne soit pas le seul dans ce cas depuis le passage sur mountain lion (conflis mountain lion / textedit?) sans pour autant que je trouve une solution écrite sur le sujet sur les différents forum.

Pour répondre au questions basique: -> Oui, j'ai le droit à l'écriture dans le dossier d'enregistrement
-> Oui, je suis sur un compte administrateur
-> Oui, si je fait l'enregistrement à la mano, ca fonctionne

Je vous donne le petit bout de code:
set textVersion to (the text of the front document)

tell application "TextEdit"
activate
make new document at the front with properties {name:"" & i & ".csv"}
set the text of the front document to textVersion
save document 1 in "/Users/Gavroche/Desktop/idspot1/" & i & ".txt"
end tell
close window 1



Vient maintenant la question, quelqu'un a-t-il un moyen de resourdre ce probleme ?
-> Passer par un autre logiciel de traitement de texte?
->Ma structure de code pour l'enregistrement qu est completement pourrie?
->Un truc obscur à décocher dans les paramètres système pour autoriser AS à écrire sur le disque?

Any idea?

Ps: S'il faut plus d'infos sur le sujet n'hésitez pas à demander

---------- Nouveau message ajouté à 12h47 ---------- Le message précédent a été envoyé à 12h32 ----------

Petite précision, Je ne souhaite pas utiliser "System Event" ne serait-ce que pour un gain de temps dans l'exécution du script
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 404
378
Lorraine
Bonsoir,

Pour t'aider voila un exemple de code qui créer un nouveau document dans textEdit que j'appelle "Mondoc.txt" puis qui l'enregistre sur le bureau.

Ce petit bout de code devrait t'aider dans la mise en place du tien !

tell application "TextEdit"
set filename to (path to desktop folder as text) & "Mondoc.txt"
set Ledocument to make document with properties {path:filename}
save Ledocument in file filename
end tell

Bon courage ...

Edit : Ne pas oublier que le séparateur pour les chemins sur mac n'est pas / mais :
 
Dernière édition:

butler95

Membre confirmé
9 Août 2011
12
0
30
Bonjour,

Merci pour ta réponse Zeltron54. En effet le seul chemin qui m'autorisait à écrire était le bureau (avec ta technique). Mais c'est tout de même bizarre:
->path to desktop folder as text => Cette syntaxe marche effectivement bien
->save document 1 in " : Users : Gavroche : Desktop : "(les espaces " : " sont la pour éviter les smiley ) => Celle-ci, bien que identique dans l'idée ne fonctionne pas (pas autorisé à écrire blablabla).
Du coup j'ai finalement réussi à finir ce fichu programme, mais ce point n'est toujours pas très clair pour moi. Si tu as des idées....
 

zeltron54

Membre expert
Club MacG
29 Mars 2008
2 404
378
Lorraine
Bonjour,

Le message d'erreur n'est pas très explicite, en réalité il ne trouve pas le chemin!

Ton code devrait être:

save front document in file "Macintosh HD:Users:NomUtilisateur:desktop:NomDuDocumentEnregistre.txt"

Edit: ou si tu donnes le nom du document dans textEdit:

save document "NomDuDocumentDansTextEdit" in "Macintosh HD:Users:NomUtilisteur:desktop:"NomDuDocumentEnregistre.txt"

Nom du chemin COMPLET !
 
Dernière édition:
Q

quark67

Invité
->save document 1 in " : Users : Gavroche : Desktop : "(les espaces " : " sont la pour éviter les smiley ) => Celle-ci, bien que identique dans l'idée ne fonctionne pas (pas autorisé à écrire blablabla).

Bonsoir, désolé pour la réponse tardive, je te conseille de te procurer le document AppleScript Language Guide : https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/AppleScriptLanguageGuide.pdf

Au bas de la page 46 de ce document pdf, il est question de la signification d'un chemin débutant par ":" comme c'est dans le cas que tu indiques. Cela signifie que tu indiques un chemin relatif, par rapport au dossier de travail courant. Mais son usage est déconseillé car il n'y a pas vraiment de moyen d'indiquer ou de connaitre le dossier de travail courant.

Outre le guide précité, il existe aussi un bouquin en français assez bien fait. Il s'agit du "Guide de survie AppleScript".
Disponible sur iTunes en version numérique : https://itunes.apple.com/fr/book/applescript/id450130858?mt=11

(j'ai la version papier)