Script ok s/ AppleScript et pas s/ Excel
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:
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