Outlook VBScript
Sehr viele Aufgaben werden mit Outlook Formularen erledigt. Aber Outlook lässt sich auch per Outlook VBA bzw. mit VBScript und anderen Programmen automatisieren. Die Nutzung des Outlook COM Objekts ist immer dann interessant, wenn eben Zusatzfunktionen von Outlook genutzt werden sollen, die ein MAPI/CDO nicht zur Verfügung stehen. Umgekehrt sind einige Funktionen in CDO besser gelöst.
Folgender KB-Artikel ist sehr zu empfehlen:
208520 Programming examples für referencing items and folders in Outlook
2000
Outlook auf Exchange 2000/2003 - Not suporter
Ehe Sie nun auf dem Exchange Server ein Outlook installieren, weil das
der einzige PC ist, der rund um die uhr läuft, muss die Warnung kommen,
dass dies nicht "supported" ist und Probleme der Regelfall sind.. Also
Finger weg.
http://blogs.msdn.com/stephen_griffin/archive/2004/07/03/172257.aspx
Exchange 2007 und Outlook 2007 ist erlaubt !
Erst mit Exchange 2007 darf man Outlook 2007 auf dem Server
installieren, da Sie sich nicht stören.
http://blogs.msdn.com/dgoldman/archive/2007/02/27/installing-outlook-2007-on-an-exchange-2007-server.aspx
In allen Fälle sollten Sie aber die Outlook "Schutzfunktionen" können, mit denen sich Outlook auch gegen Viren und andere Fremdzugriffe auf wichtige Daten wie z.B. Kontakte oder den Versand von Mails schützt. Siehe Outlook Sicherheitswarnung.
Beispiel 1: Mail senden
Um z.B.: eine Mail über Outlook zu senden reichen folgende wenige Zeilen als VBScript aus:
Const olByValue = 1 Const olMailItem = 0 Dim oOApp Dim oOMail Set oOApp = CreateObject("Outlook.Application") Set oOMail = oOApp.CreateItem(olMailItem) With oOMail .To = "mapitest@ihremaildomain.tld" .Subject = "Dies ist der Betreff" .Body = "Testnachricht " .Attachments.Add "c:\boot.ini", olByValue, 1 .Send End With
Beachten Sie dabei aber die Outlook Sicherheitswarnung.
Beispiel 2: Betreff auflisten
Ein zweites einfaches Beispiel soll ihnen zeigen, wie ich aus VBScript einfach die Betreffzeilen von Outlook ausgeben kann:
Set myOlApp = GetObject("Outlook.Application") Set myFolder= myOlApp.GetNameSpace("MAPI").GetDefaultFolder(6) WScript.echo "Anzahl der Nachrichten: " & myFolder.Items.count For Each objmail In myFolder.Items WScript.echo objmail.subject Next
Diese kleine VBScript verbindet sich mit einem bestehenden Outlook und nutzt den Ordner "6" (Posteingang) um dann die Anzahl der Nachrichten und dann den Betreff jeder einzelnen Nachrichten anzuzeigen. Sie können Sich natürlich vorstellen, dass der automatischen Weiterverarbeitung fast keine Grenzen gesetzt sind. Nur wenn Sie wieder in Outlook etwas schreiben oder Senden wollen, wird Outlook Sie wieder mit der Outlook Sicherheitswarnung konfrontieren. Aber per VBScript sind noch viel mehr Dinge möglich.
Skripte der MSXFAQ
In folgenden Skripten habe ich per VBScript das Outlook Objekt Modell genutzt.
-
Outlook Send Now.
VBScript überwacht den Posteingang und synchronisiert bei Bedarf - Messageclass
- VBS:AddContact
Weitere Links
- Outlook VBA
- Outlook Sicherheitswarnung
- 166368 OL97: How to Get Help Programming with Outlook
- 166780 OL97: Why Outlook Displays a Security Warning Opening an Item
- 170783 OL97: Q&A: Questions About Customizing or Programming Outlook
- 208520 OL2000: Programming Examples für Referencing Items and Folders
- 290498 You receive warning messages when you use a third-party add-in or custom solution in Outlook 2002
- 290499 Administrator information about e-mail security features
- 290500 OL2002: Developer Information About E-Mail Security Features
- 290658 OL2002: How to Programmatically Import Outlook Items from Microsoft Access
- 290792 OL2002: How to Programmatically Export Outlook Items to Microsoft Access
- 292176 OL2002: VBA Code Does Not Run, or Causes Security Warning to Appear
- 295302 Summary of Collaboration Data Objects (CDO) 1.21s e-mail security features in Outlook 2002
- Outlook Object Modell
http://www.outlookexchange.com/articles/home/outlookobjectmodel.asp - Outlook Sample Pages
http://www.outlookexchange.com/articles/home/outlookcodeexample.asp - http://msdn.Microsoft.com/library/en-us/vbaol10/html/olobjApplication.asp
- Microsoft Windows 2000 - Scripting-Handbuch (Teil 1)
Scripting-Konzepte und -Technologien zur Systemadministration: Überblick
http://www.Microsoft.com/germany/technet/datenbank/articles/600356.mspx - Using VBA to Manage Your Outlook Email Attachments
http://www.fontstuff.com/outlook/oltut01.htm