Scripting Outlook Express |
Utilisation de AppleScript avec Outlook Express |
Exemples de scripts |
Conseils et astuces pour le scripting |
AppleScript est un langage de scripting permettant d'automatiser les tâches effectuées un ordinateur Apple Macintosh, très utile lorsque vous devez effectuer plusieurs fois des procédures à plusieurs étapes ou utiliser conjointement plusieurs applications pour Macintosh pour votre travail. Dans ce document, nous considérons que vous connaissez déjà AppleScript et savez utiliser l'éditeur de script Macintosh (Macintosh Script Editor) pour consulter les dictionnaires de scripting ainsi que créer et déboguer des scripts. Si vous n'avez jamais utilisé AppleScript, vous devriez étudier au moins l'un des documents suivants :
Outre les suites AppleScript requise et standard, Microsoft Outlook Express fournit plusieurs suites qui lui sont propres : les suites Outlook Express Mail and News, Outlook Express Contact et URL. Ces suites fournissent les commandes et les classes de scripting requises pour indiquer à Outlook Express les tâches à effectuer.
Pour obtenir des explications détaillées sur les classes et commandes de scripting offertes par Outlook Express, utilisez l'éditeur de script Macintosh pour ouvrir le dictionnaire Outlook Express et le consulter. Étudiez ensuite les exemples de scripts ci-dessous. Vous voudrez peut-être également consulter également les groupes de News suivants :
Les deux scripts suivants créent un nouveau message sortant adressé à « untel@microsoft.com » et dont le thème est « choses » dans le champ de thème :
tell application "Outlook Express"
set myWindow to make new draft window
set the to recipients of myWindow to "untel@microsoft.com"
set the subject of myWindow to "choses"
end tell
tell application "Outlook Express"
handle URL "mailto:untel@microsoft.com?subject=choses"
end tell
Les scripts suivants créent un nouveau dossier de courrier de niveau supérieur appelé « Messages importants »:
tell application "Outlook Express"
make new folder with properties {name:"Messages importants"}
end tell
Le script suivant recherche un dossier de niveau supérieur appelé « Messages importants » et y crée un sous-dossier appelé « De untel ». Si le dossier « Messages importants » n'existe pas, il sera créé.
tell application "Outlook Express"
if not (exists folder "Messages importants") then
make new folder with properties {name:"Messages importants"}
end if
make new folder at folder "Messages importants" with properties {name:"De untel"}
end tell
Le script suivant recherche dans les groupes de News auxquels vous êtes abonné tous les articles de News dont le thème contient le mot « Outlook », puis met en évidence ces articles dans la liste d'articles téléchargés en les affichant en caractères bleus.
tell application "Outlook Express"
set subscribedGroups to the subscribed groups of news server 1
repeat with s in subscribedGroups
open s
set theArticles to get (every news article of s whose subject contains "Outlook")
repeat with a in theArticles
set the color of a to {0, 0, 65535}
end repeat
end repeat
end tell
Le script suivant marque comme étant lu :
tell application "Outlook Express"
activate
set theSelection to the selection
if the class of theSelection = news group then
set unreadList to get (every news article of theSelection whose read status = untouched)
else if the class of theSelection = folder then
set unreadList to get (every incoming message of theSelection whose read status = untouched)
else if the class of theSelection = list then
set unreadList to theSelection
else
set unreadList to {}
end if
repeat with u in unreadList
set the read status of u to read
end repeat
end tell
Le script suivant obtient l'adresse de l'expéditeur d'un message électronique ou article de news sélectionné ou affiché dans la fenêtre principale de Outlook Express. Il ouvre ensuite tout contact qui a la même adresse, même s'il ne s'agit pas de l'adresse par défaut.
tell application "Outlook Express "
activate
set theSelection to the selection
if the class of the front window is message window then
set theMessage to get the displayed message of the front window
try
set theSender to get the sender of theMessage
on error
set theSender to "" -- can't get sender
end try
if theSender is not "" then
my lookupSender(theSender)
end if
else if the class of theSelection is string then
set theString to theSelection as string
my lookupByString(theString)
else
if (class of theSelection is list) and (length of theSelection > 0) then
set theFirstItem to item 1 of theSelection
if (the class of theFirstItem is incoming message) or (the class of theFirstItem is news article) then
repeat with eachMessage in theSelection
set theMessage to get the displayed message of the front window
try
set theSender to get the sender of eachMessage
on error
set theSender to "" -- can't get sender
end try
if theSender is not "" then
my lookupSender(theSender)
end if
end repeat
end if -- if list contains messages
end if -- if list is not empty
end if
end tellon lookupByString(myString)
tell application "Outlook Express"
set contactList to get every contact
repeat with eachContact in contactList
set addressList to get every email address of eachContact
repeat with eachAddress in addressList
set contactAddressString to eachAddress as string
if contactAddressString = myString then
open eachContact
end if
end repeat
end repeat
end tell
end lookupByStringon lookupSender(mySender)
tell application "Outlook Express"
activate
set senderAddressString to the address of mySender as string
my lookupByString(senderAddressString)
end tell
end lookupSender
Si vous êtes un programmeur AppleScript expérimenté, vous n'avez sans doute pas besoin de ce conseil, car c'est ce que vous faites instinctivement. Mais si vous débutez, lors de la création et du débogage d'un nouveau script, prenez soin de laisser la fenêtre de résultats et celle du journal d'événements ouvertes en permanence.
Les occurrences du mot « the » dans un script sont ignorées lorsque ce script est exécuté. « The » est utilisé dans les scripts simplement pour les rendre plus faciles à lire (pour les anglophones).
Si vous souhaitez connaître la classe de l'objet sélectionné dans la fenêtre Outlook Express active, enregistrez la sélection dans une variable et obtenez la classe de cette variable. N'essayez pas d'obtenir la classe de la sélection elle-même, car sa classe est « property ».
Décomposez les expressions compliquées et enregistrez chaque partie dans une variable. Pour décomposer cette commande, par exemple :
set A to the W of the X of the Y of the Z
en :
set A1 to the Y of the Z
set A2 to the X of the A1
set A to the W of the A2
Ceci facilitera le débogage de votre script. De plus, utilisez des parenthèses autant que possible pour rendre explicites vos assomptions en matière d'ordre d'évaluation des expressions.
Tous les objets ne peuvent pas être « obtenus ». En cas de doute, essayez d'exécuter votre nouveau script avec « get class of X » au lieu de « getX » où X est un objet complexe, au cas où la classe de X ne serait pas celle que vous pensiez.
Après avoir écrit et débogué vos propres scripts, vous pouvez les ajouter au menu Scripting de Outlook Express en les enregistrant en tant que scripts compilés et en les plaçant dans le sous-dossier Menu Items du dossier Outlook Express. Vous pouvez aussi créer des sous-dossiers dans le dossier Script Menu Items.Pour lancer un script que vous avez ajouté au menu Scripting, sélectionnez-le dans ce menu.