# AppleScript/Textedit - save - Autorisation



## butler95 (18 Juillet 2013)

*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 (18 Juillet 2013)

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   :


----------



## butler95 (19 Juillet 2013)

*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 (19 Juillet 2013)

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* !


----------



## quark67 (3 Août 2013)

butler95 a dit:


> ->_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)


----------

