# Pb Applescript - ouverture d'un fichier pdf



## CathyGYM (26 Juin 2011)

Bonjour,
J'avais pas eu de problème applescript depuis un moment, mais là je sèche...
J'ai une application realbasic qui appelle des applescripts pour certaines procédures. Chez moi tout marche nickel, mais j'ai un collègue qui n'arrive pas à faire tourner l'application chez lui. Pour comprendre d'où çà vient, je lui ai fait faire un test avec un des scripts appelés et nous avons fini par trouver ce qui bloque, mais je ne comprend pas le pourquoi du comment... Le script bloque sur l'ouverture d'un fichier pdf, avec la commande suivante :

```
set NomFicPDF to "MonFichier.pdf"
tell application "Finder"
	set Mais to a reference to home
	set PathRepert to folder "MonRepertoire" of Mais
	-- Ouverture du fichier NomFicPDF
	set PathSortie to ((PathRepert as string) & NomFicPDF) as alias
	open document file PathSortie
...
```

Plantage sur la dernière ligne. Le message d'erreur dit que le fichier est introuvable, alors que le fichier est bien au bon endroit, avec la bonne orthographe ! 
Le message est le suivant :

```
error "Le fichier Macintosh HD:Users:toto:MonRepertoire:MonFichier.pdf est introuvable." number -43 from "Macintosh HD:Users:toto:MonRepertoire:MonFichier.pdf"
```
Message d'erreur -43 qui correspond bien à un fichier non trouvé.

Quelqu'un a-t-il déjà été confronté à ce genre de bug ? Je m'arrache les cheveux !
Merci de votre aide.


----------



## CathyGYM (27 Juin 2011)

Personne n'a une idée ? J'ai fait un autre test, le problème existe aussi pour tout autre type de fichier (pas forcément pdf). Dès que j'attribue un path de fichier, çà plante en me disant que le fichier n'existe pas, or il existe bien...
J'ai cherché un peu partout dans les options, mais je n'ai rien trouvé qui puisse avoir un lien avec la gestion des fichiers.

Merci d'avance si vous avez la moindre piste...


----------



## CathyGYM (27 Juin 2011)

Bonsoir,
Je poursuis l'analyse de mon bug, et j'ai essayé de lister le contenu du répertoire incriminé avec la commande suivante :


```
set x to list folder PathRepert as text
	display dialog x as string
```

et là, je tombe sur un message bizarre...

"event ascrgdut", puis error number -1708 et error number -10004 !
J'ai fait une recherche sur google avec tous ces messages, mais tout çà est de plus en plus incompréhensible ! Peut-être que ce message vous dit quelque chose...


----------



## ceslinstinct (28 Juin 2011)

CathyGYM a dit:


> Bonsoir,
> Je poursuis l'analyse de mon bug


Bonjour

Avec Léopard 10.5.8 j'utilise le code suivant:


```
open document file "Nom.pdf" of folder "Chemin complet"
```

Ca marche pas chez-vous?

PS: Votre code avec 10.5.8 marche très bien chez moi.

@+


----------



## CathyGYM (28 Juin 2011)

Oui c'est exactement ce que j'utilise, avec le chemin complet du fichier. Ca fonctionne très bien chez moi, mais j'ai transmis mon application à des collègues de travail : c'est un programme qui convertit nos plannings au format pdf, pour les mettre directement sur iCal, alors ils sont tous intéressés ! Ça marche chez tous, sauf un... Et en plus, il a les mêmes caractéristiques système que moi (10.6.7). C'est bizarre car le fichier existe bien (il m'a fait une copie d'écran de son finder), mais le script dit que le fichier n'existe pas... C'est à s'arracher les cheveux.
Il n'y a pas de caractères spéciaux dans le nom du fichier...


----------



## ceslinstinct (28 Juin 2011)

CathyGYM a dit:


> Oui c'est exactement ce que j'utilise, avec le chemin complet du fichier. Ca fonctionne très bien chez moi, mais j'ai transmis mon application à des collègues de travail : c'est un programme qui convertit nos plannings au format pdf, pour les mettre directement sur iCal, alors ils sont tous intéressés ! Ça marche chez tous, sauf un... Et en plus, il a les mêmes caractéristiques système que moi (10.6.7). C'est bizarre car le fichier existe bien (il m'a fait une copie d'écran de son finder), mais le script dit que le fichier n'existe pas... C'est à s'arracher les cheveux.
> Il n'y a pas de caractères spéciaux dans le nom du fichier...


Bonjour

A tester avec on error pour voir le contenu que trouve le code dans la fenêtre d'erreurs.


```
set NomFicPDF to "MonFichier.pdf"
tell application "Finder"
	try
		set Mais to a reference to home
		set PathRepert to folder "MonRepertoire" of Mais
		-- Ouverture du fichier NomFicPDF
		set PathSortie to ((PathRepert as string) & NomFicPDF) as alias
		open document file PathSortie
		
	on error error_message number error_number
		if the error_number is not -128 then
			tell me to activate
			display dialog ("N° de l'erreur: " & (error_number as text) & ¬
				return & return & error_message) buttons {"OK"} default button 1  with title "Erreur"
		end if
	end try
end tell
```

Un image de la fenêtre d'alerte pour voir.

@+

---------- Nouveau message ajouté à 11h37 ---------- Le message précédent a été envoyé à 10h53 ----------

Bonjour

Regarde ça pour voir si c'est pas un problème de ton collègue.

http://books.gigatux.nl/mirror/applescriptdefinitiveguide/applescpttdg2-CHP-21-SECT-3.html

@+


----------



## CathyGYM (28 Juin 2011)

Merci pour ta réponse. Pour le test, je ne pourrais pas le faire avant dimanche... mais je posterai dès que j'aurais testé ça. Pour l'article, je vais me pencher dessus de ce pas... Merci beaucoup.


----------



## ceslinstinct (28 Juin 2011)

CathyGYM a dit:


> Merci pour ta réponse. Pour le test, je ne pourrais pas le faire avant dimanche... mais je posterai dès que j'aurais testé ça. Pour l'article, je vais me pencher dessus de ce pas... Merci beaucoup.


Bonjour

J'ai lue sur plusieurs forums que "event ascrgdut" recherchais une commande d'AppleScript qu'il ne trouve pas.

Normalement c'est pour les OSAXs (si j'ai bien compris).

Si ça marche chez plusieurs personnes sauf chez lui, donc voir si c'est pas lui qui a le problème et non le code.

Arrêtez de tirer les cheveux, j'ai aucunement l'intention de payer une perruque style choucroute (BB jeune).   

Cordialement

@+


----------



## CathyGYM (28 Juin 2011)

Merci. J'ai cru comprendre la même chose au sujet des OSAXs, mais ce qui n'est pas très clair pour moi, c'est la solution : un fichier à ajouter ? Mais lequel ??!! Peut-être qu'avec le "try" j'aurais un message plus explicite... Merci en tout cas et bonne soirée


----------



## ceslinstinct (29 Juin 2011)

CathyGYM a dit:


> Merci. J'ai cru comprendre la même chose au sujet des OSAXs, mais ce qui n'est pas très clair pour moi, c'est la solution : un fichier à ajouter ? Mais lequel ??!! Peut-être qu'avec le "try" j'aurais un message plus explicite... Merci en tout cas et bonne soirée


Bonjour

Contrôler les OSAXs contenu dans ce dossier (Toutes session).

*/Library/ScriptingAdditions*

Ainsi que dans ce dossier si il existe (Session ouverte seulement).

*/Users/petite maison/Library/ScriptingAdditions*

Le dictionnaire de l'éditeur de scripts possède: 

Standard Suite
Text Suite
Script Editor Suite
Type Definitions

Voir si il y a des différences de contenu entre les 2 ordinateurs.

@+


----------



## ceslinstinct (30 Juin 2011)

Bonjour

Une version courte de votre code qui fonctionne très bien chez moi.

```
set NomFicPDF to "MonFichier.pdf"

tell application "Finder" to open document file (((path to home folder as string) & "MonRepertoire:" & NomFicPDF) as string) as alias
```

@+


----------



## CathyGYM (30 Juin 2011)

Merci beaucoup Ceslinstinct pour toutes ces infos. Je teste tout ça dès mon retour...


----------

