OLConnector Programmierung

Ähnliche Dokumente
WIE KANN ICH ACCESS XML FÄHIGKEITEN UNABHÄNGIG VON DER VERSION BEIBRINGEN?

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Access und die andern (Office) Programme. Armin Hess

Grundlagen übertragen Sie die komplette -Kommunikation von Outlook in Ihre Kun denverwaltung.


Bilderverwaltung mit Access

Access 2010 Programmierung Import und Export nach Excel

4. Kooperation mit Word, etc. (OLE)

Verteilte Datenbanken

FAQ Frequently Asked Questions. Produktname AFPS Outlook-AddIn Version 1.63 Stand Inhalt

Installation und Benutzung AD.NAV.ZipTools

Makros erstellen und aufrufen Dr. V.Thormählen

Visual Basic Editor CATIA V5

Info Betrifft: VBA, XML, MSXML-DOM Systemanforderungen: VBA-Host- Anwendung + Internet Explorer 5 oder höher Seitenzahl: 5

Technische Dokumentation SEPPmail Outlook Add-In v1.5.3

MS Outlook Add-In: raum level Dokumentenarchiv

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erstellen eines Office-COM-Add-In mit Visual Basic 2005 Express Edition

16 SQL Server-Zugriff per VBA

Access [basics] Fehlerbehandlung unter VBA. Wozu eine Fehlerbehandlung? Fehlerbehandlung von Laufzeitfehler. Tritt ein Fehler ohne Fehlerbehandlung

Hinweise zum Programm Überprüfung des Betriebszustandes von Kläranlagen. Bitte prüfen Sie regelmäßig den aktuellen Stand der Software im Internet!

Alternative Schutzmechanismen für Excel

COM-Add-Ins installieren

Wie richtet man Outlook ein?

untermstrich SYNC Handbuch

Konfiguration der SMTP-Verbindung... 5 Einstellungen speichern / laden... 6 Versenden von Paketen... 6

Installationsanleitung FTE File Type Export

Algorithmen und ihre Programmierung

Access-Benutzeroberfläche

Access 2003 Programmierung mit Visual Basic

übersehen. ohne dass eine Datenbank als CurrentDb Solcher Code ist trotz seiner Kürze schwierig zu testen, weil Sie dafür laufend ein AddIn

Anleitung zum Download der EBMG_Datei_9_2.xls

Modul 122 VBA Scribt.docx

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Excel VBA Fehler im Programm

BERTSCH Dampftafel und Prozesse Excel-Makros FAQ

Installationshandbuch

Self Service Reset Password Benutzerhandbuch

1 Elexis OpenVPN-Client für Analytica

Beschreibung: Erforderliches Programm: Excel (97)2000 bis 2007

Microsoft Access 2010 Bilder

Wenn ein Fehler in Ihrer Prozedur ist, wird entweder gar nicht erst gestartet oder es wird mittendrin abgebrochen.

Visual Basic Express Fehlerermittlung

Access [basics] Tabellenverknüpfungen pflegen. Beispieldatenbank. Verknüpfungen erneuern. Anwendungsfälle. Grundlagen der Verknüpfung

Hinweise zu A-Plan 2009 SQL

esms - sms senden & empfangen mit Outlook

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth

P r o g r a m m a b l a u f s t e u e r u n g

Inhalt. Dokumentation VIAS_W. V32w6900 Workflow-Assistent

Stapelverarbeitung mit Adobe Acrobat Professional. Leibniz Universität IT Services Anja Aue

Arbeiten mit dem Outlook Add-In

-Einrichtung. am Beispiel von Mozilla Thunderbird und Microsoft Outlook Schmetterling International GmbH & Co. KG.

Normfall 7. Kurzanleitung. Parallelbetrieb von Normfall 5 und Normfall 7 auf demselben Computer Normfall GmbH Alle Rechte vorbehalten.

LEGO-Mindstorms-Roboter im Informatikunterricht -mit Delphi-

xgu 2.3 Installationsanleitung Installationsanleitung Excel Add-In zu ASTAG GU Kalkulationsgrundlage Bern, 18. Oktober 2016 Version: 01.

Installationsbeschreibung. Version 4.2. Installationsbeschreibung Seite 1 von 6

Browsereinstellungen Geobasisdaten online

Bayerische Versorgungskammer

Programmieren in Anwendungen

Datenbank auf neuen Server kopieren

Live Update (Auto Update)

Geschrieben von: Marcus Rose Mittwoch, 28. Mai 2008 um 17:14 Uhr - Aktualisiert Montag, 09. März 2009 um 06:33 Uhr

Maileinstellungen Outlook

Quick Start Faxolution for Windows

Makro + VBA 2007 effektiv

Dokumentation: MediaWizard Installationsanleitung

Zahlungsavise für den Versand erstellen

MGE Datenanbindung in GeoMedia

Updateanleitung zur Version 18.x

ondaf Der Online-Einstufungstest Deutsch als Fremdsprache

Microsoft Visio 2007-Programmierung

RSV-Gelsenkirchen 02 e.v. Anleitung zur Blog Erstellung

Kurzbedienungsanleitung. Canon Universal Login Manager

Fehler finden und beheben

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Einrichtung von Outlook 2000 und Import alter s

KONFIGURATOR-SOFTWARE (S009-50) Kurzanleitung

Anleitung für Zugriff auf SHV-Systeme mit RDS auf Terminal-Server

Computeria Solothurn

WIRELESS 150N USB 2.0 ADAPTER

-Versand mit der Formularverwaltung

Trainingsmanagement Gutschein Management. Beschreibung

1 Konto für HBCI/FinTS mit Chipkarte einrichten

Einrichtung eines Mailkontos unter Microsoft Outlook 2000 / Outlook Express Anleitung, Stand: , Ver.: 1.3, op

SOFTWORLD SOFTWAREENTWICKLUNG ZEITERFASSUNGSSYSTEME EDV-SCHULUNGEN

Starten Sie Exponent und klicken Sie auf Hilfe und dann auf ÜberExponent. Notieren Sie sich die folgenden Daten:

Installation von MKTT auf einem Windows XP Rechner

Michaela Weiss 30. März Lerneinheit 3: VBA Teil 1: Eingabe/Ausgabe

Vorab: Anlegen eines Users mit Hilfe der Empfängerbetreuung

Office Objektmodell (1)

FAQ. Governikus Add-In for Microsoft Office, Release bremen online services Entwicklungs- und Betriebsgesellschaft mbh & Co.

Hier den Kundennamen auswählen:

ecall Anleitung Outlook Mobile Service (OMS)

Konfiguration und Verwendung von MIT - Hosted Exchange

Zur drittletzten Zeile scrollen

Versand von Einladungen zur Teilnahme an der Umfrage mit Seriendruck Funktion von Microsoft Office 2007

ModernOffice - Outlook-Synchronisation

Transkript:

Das Vorgehen, um Outlook zu automatisieren, unterscheidet sich mit dem nur geringfügig vom üblicherweise dafür eingesetzten. Um irgendwelche Aktionen ausführen zu können, benötigt man die laufende Instanz von Outlook und Zugriff auf dessen Application-Objekt. Es gibt zwei Möglichkeiten unter VBA: - Einen Verweis auf die "Microsoft Outlook Library x.0" anlegen und das Application-Objekt so erzeugen: Set objoutlook = New Outlook.Application. Hier handelt es sich um so genanntes Early Binding - Das Application-Objekt direkt über die so genannte ProgID - das ist die Klassenbezeichnung eines Objekts - erzeugen. Das wäre: Set objoutlook = CreateObjekt("Outlook.Application"). Hier handelt es sich um Late Binding. Die letztere Variante ist grundsätzlich zu bevorzugen. Wenn Outlook etwa auf dem Zielsystem gar nicht installiert ist oder in einer anderen Version vorliegt, so bekommt man Probleme mit dem VBA-Verweis, der dann als "NICHT VORHANDEN" markiert sein wird, und das gesamte VBA-Projekt kann möglicherweise nicht mehr ausgeführt werden. Im Folgenden deshalb ausschließlich die Darstellung der zweiten Methode. Eine Prozedur zur Automation sieht nun so aus: Sub OhneConnector() Dim objol As Object 'Variable für das Outlook.Application-ObjektOn Error Resume Next Set objol = CreateObject("Outlook.Application") Hier wird die Application-Variable instanziert. Zu bemerken ist hier, dass es egal ist, ob Outlook bereits geöffnet ist oder nicht. Da Outlook eine so genannte Multi-Use-Anwendung ist, gibt Cre ateobject eine bereits laufende Outlook-Instanz zurück und erzeugt nicht eine neue. Es verhält sich also faktisch genauso wie GetObject(, "Outlook.Application"). If objol Is Nothing Then MsgBox "Instanz von MSOutlook konnte nicht erhalten werden." & vbcrlf & _ "Ist Outlook korrekt installiert?", vbexclamation In diesem Teil wird geschaut, ob die Application-Variable auch gefüllt ist. Falls Outlook auf dem System nicht installiert ist, dann ist die Variable leer, was durch den Test auf objol Is Nothing 1 / 5

ermittelt wird. In diesem Fall erfolgt eine benutzerdefinierte Meldung und die Prozedur wird verlassen. Andernfalls kann ab hier mit weiterem Code fortgefahren werden, der beliebige Aufgaben auf das Outlook.Application-Objekt ( objol ) ausführt wie z.b. das Auslesen von Kontakten ( ContactItems ), das Exportieren und Senden von Emails ( MailItems ) oder das Anlegen von Aufgaben ( TaskItems ). Davor setzen wir aber noch eine Fehlerbehandlung ein, denn eingangs der Prozedur hatten wir sie mit der Zeile On Error Resume Next außer Kraft gesetzt: On Error Goto Fehlerbehandlung... Fehlerbehandlung: Msgbox "Fehler Nummer " & Err.Number & _ vbcrlf & Err.Description, vbexclamation Das mit gutem Grund: Wird Outlook nach vorstehendem Code automatisiert, dann wird die Sicherheitsabfrage von Outlook erscheinen, die bestätigt werden muss - meist nach der zweiten Aktion, etwa der zweiten exportierten Email - Outlook scheint gutmütigerweise nur eine einzige Email durchgehen zu lassen, ohne dass der Sicherheitsdialog erscheint. Wird die Sicherheitsabfrage nicht bestätigt, sondern stattdessen die Abbrechen-Schaltfläche geklickt, so wird dies im Code oben zu einem Fehler führen, der die Nummer 287 hat. Dieser Fehler wird in der Fehlerbehandlung abgefangen. Wird der eingesetzt, dann ist das ganze Verfahren im Prinzip dasselbe, nur dass hier die Instanzierung der Application-Variable anders aussieht: Sub MitConnector() Dim objol As Object Dim objconnect As ObjectOn Error Resume Next Set objol = CreateObject("Outlook.Application") If objol Is Nothing Then MsgBox "Instanz von MSOutlook konnte nicht erhalten werden." & vbcrlf & _ "Ist Outlook korrekt installiert?", vbexclamation Bis hierhin ist der Code derselbe wie im ersten Beispiel. Nun kommt der ins Spiel: Set objconnect = GetObject(, ".Connect") 2 / 5

Wenn der als COM-Addin in Outlook geladen wurde, was automatisch der Fall sein sollte, wenn er im System korrekt installiert, also registriert wurde, dann steht die Objektvariable objconnect nun auf dem Connect-Objekt des OLConn ector. Das wird im Folgenden aber erst noch geprüft: If objconnect Is Nothing Then Set objol = Nothing MsgBox "Konnte keine Verbindung zum herstellen." & vbcrlf & _ "Ist das COM-Addin registriert" & _ " und wird es von Outlook geladen?", vbexclamation Wenn der etwa nicht registriert und folglich auch nicht von Outlook geladen wurde, dann ist die Variable objconnect leer; mit dem Test auf Nothin g wird das getestet und in diesem Fall eine entsprechend angepasste Fehlermeldung ausgegeben. Ansonsten läuft alles nach Plan und jetzt kommt der Clou der ganzen Sache: Set objol = objconnect.olapplication Hier wird die bisher auf das Outlook.Application-Objekt stehende Variable objol auf die wichtige Eigenschaft OLApplication des gesetzt. Die enthält zwar genau dasselbe Outlook.Application -Objekt, doch erscheint der Sicherheitsdialog anschließend nicht, weil dieses Application-Objekt nun "von außen" und nicht direkt angesprochen wird. Der weitere Code führt dann, genau wie im ersten Beispiel oben, die eigentlichen Aufgaben durch. Neu in V.1.1 Der Einsatz des führt natürlich zu einem gewissen Sicherheitsrisiko: Jede Anwendung kann nun nach beschriebenen Verfahren mit seiner Hilfe Outlook automatisieren, ohne dass die Sicherheitsabfrage erscheint. Damit ist das Versenden von Massenmails und Zugriff auf die Kontakte im Stillen möglich. Aus diesem Grund wurde die Möglichkeit implementiert, das Outlook-Application-Objekt erst nach Angabe eines Passworts zu erhalten. objconnect.password = "Sascha Trowitzsch" Set objol = objconnect.olapplication 3 / 5

Ist der Passwort-Modus des eingeschaltet, dann würde im vorstehenden Code die Objektvariable objol ungültig sein (Nothing), falls das übergebene Passwort inkorrekt ist oder die entsprechende Zeile weggelassen würde. Somit ist es nur einer Anwendung, die dieses Passwort kennt, möglich, auf Outlook mit dem zuzugreifen. Das Passwort kann in V.1.1 in den Optionen von Outlook eingegeben werden. Ist der geladen, dann sieht der Optionen-Dialog (Menü Extras Optionen...) so aus: Es gibt hier eine neue Registerseite "". Im entsprechenden Feld kann darin das Passwort eingegeben werden und mit "Übernehmen" oder "OK" gespeichert werden. Die Passwortabfrage tritt dabei nur in Kraft, wenn auch das Häkchen auf " Use Password " gesetzt wurde. Ist das Häkchen deaktiviert, dann ist die Codezeile mit der Passwortübergabe irrelevant. Das Passwort wird übrigens RC4-verschlüsselt in der Registry unter dem Zweig HKEY_CURRENT_USER abgelegt und gilt damit nur für den aktuellen Benutzer des Computers. Sollen also mehrere User den 4 / 5

im Passwort-Modus verwenden können, so muss für jeden einzelnen das Passwort in Outlook eingegeben werden. Dies wurde aus Sicherheitsgründen explizit so implementiert. Zum Schluss nochmals der ausdrückliche Hinweis, dass es aus technischen Gründen nicht möglich ist, den auch unter Outlook XP (2002) einzusetzen! 5 / 5