Scripting Outlook Express

Utilisation de AppleScript avec Outlook Express
Exemples de scripts
Conseils et astuces pour le scripting


Utilisation de AppleScript avec Outlook Express

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 :

Retour au début de la page

Exemples de scripts

Création d'un nouveau message électronique

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

Création d'un nouveau dossier ou sous-dossier de courrier

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

Recherche et mise en évidence d'articles de News

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

Marquer des messages électroniques et des articles de News comme étant lus

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

Recherche d'expéditeurs de messages électroniques ou d'articles de news dans Contacts

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 tell

on 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 lookupByString

on lookupSender(mySender)
  tell application "Outlook Express"
    activate
    set senderAddressString to the address of mySender as string
    my lookupByString(senderAddressString)
  end tell
end lookupSender

Retour au début de la page

Conseils et astuces pour le scripting

Débogage de scripts

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.

« The »

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).

Obtention de la classe des éléments sélectionnés

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 ».

Utilisation de variables et de parenthèses

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.

Obtention d'éléments lors du débogage d'un nouveau script

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.

Ajout de scripts au menu Scripting

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.

Retour au début de la page