Bonjour,

Je reviens vers vous pour obtenir une explication et éventuellement une solution sur ce script qui fonctionne s'il est lancé avec Applescript et ne fonctionne pas s'il est lancé à partir d'Excel. Je dois beaucoup à l'aide apporté par PBell pour les instructions du script qui fonctionnent, en revanche la ligne 14 qui pose problème est de moi.

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
28
29
30
on Impression()
	tell application "Mail"
		activate
		--a/ On simulee l'action clavier, à chaque fois qu'une commande est non scriptable
		tell application "System Events"
		--b/ On ouvre le dialogue d'impression avec le clavier par "command p",		
		keystroke "p" using {command down}
		delay 0.25
		--c/ Test pour connaître l'état du dialogue d'impression. 			
			--	c1-	si le boutton "Afficher les détails" est présent (dialogue non déployer)
			-- 			Cliquer sur le bouton  "Afficher les détails" pour déployer le dialogue d'impression.
			-- 	c2-	si non ne rien faire(sous entendu)
		tell process "Mail" to tell sheet 1 of front window
		        if exists button "Afficher les détails" then click button "Afficher les détails"
		end tell
		--d/ Sélection des options du dialogue d'impression qui est déployé
                        -- on actionne 2 fois sur la touche tabulation, 
			-- une 1ère fois pour passer de copies à pages
			-- une 2ème fois pour passer de 1 à 1
			-- puis on actionne la touche "1" (la frappe de la touche 1 force le petit bouton devant !).
                keystroke tab
		keystroke tab
		delay 0.25
		keystroke "1"
		-- e/  actionne la touche "retour" pour valider le dialogue d'impression.
		delay 0.25
		keystroke return
		end tell
	end tell
end Impression
Je précise le comportement du script :
1- Sans les lignes 13 à 15 - celles qui testent l'état du dialogue d'impression - le script fonctionne parfaitement qu'il soit lancé d'Excel ou d'AppelScript.
2- Avec les lignes 13 à 15, le script fonctionne entièrement s'il est lancé d'Appel script, il s'arrête de fonctionner à l'instruction 14 s'il est lancé d'Excel.
Quand je le lance d'Excel :
1- le dialogue d'impression s'affiche à l'écran et plus rien ne se passe; toutefois je peux poursuivre manuellement les actions du script dans le dialogue d'impression.
2- Aucun message d'erreur ne vient d'AppleScript. Dans la fenêtre du script appelé comme du script appelant, la cartouche "Resultat" est vide.
3- Un message d'erreur, lié au script s'affiche quand je retourne sur Excel.

C'est incompréhensible pour moi, cela dépasse mes capacités de programmation.

Merci pour votre aide.
Cordialement.

jf Zuinghedau