Pb Applescript - ouverture d'un fichier pdf

CathyGYM

Membre actif
28 Novembre 2010
160
1
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 :
Bloc de code:
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 :
Bloc de code:
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. :confused::confused::confused:
 
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... :zen::zen:
 
Bonsoir,
Je poursuis l'analyse de mon bug, et j'ai essayé de lister le contenu du répertoire incriminé avec la commande suivante :

Bloc de code:
	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...:confused:
 
Bonsoir,
Je poursuis l'analyse de mon bug
Bonjour

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

Bloc de code:
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.

@+
 
Dernière édition:
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...
:confused::confused::confused:
 
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...
:confused::confused::confused:
Bonjour

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

Bloc de code:
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

@+
 
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.
 
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). :D :D :D

Cordialement

@+
 
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
 
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.

@+
 
Bonjour

Une version courte de votre code qui fonctionne très bien chez moi.
Bloc de code:
set NomFicPDF to "MonFichier.pdf"

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

@+