Kostenfreier Komponent zum Lesen von MAPI-Eigenschaften des CDO und Outlook Object Model für Microsoft Outlook 2000, 2002/XP, 2003, 2007, 2010. Die Komponente hat keine Einschränkungen der Datengröße, die in der Eigenschaft gespeichert ist, es arbeitet auch mit komprimierten Eigenschaften (wie PR_RTF_COMPRESSED). Nutzung von MAPI-Eigenschaften ermöglicht Ihnen die Meldungen des Sicherheitssystems beim Holen der Absenderadresse, des Nachrichtentextes, etc. bei der Arbeit mit Visual Basic und Scriptsprachen wie JScript und VBScript zu umgehen.
Die Komponente wird mit Quellencode in Microsoft Visual C++ 6.0 und Beispielen in Visual Basic .NET, Visual Basic 6.0 und JScript angeboten.
Die Komponente kann zur Erledigung folgender Aufgaben genutzt werden:
- Erhaltung von Objekteigenschaften ohne die Sicherheitswarnungen des System
- Erhaltung von Eigenschaften, die über das Objektmodel von Outlook nicht zugreifbar sind, z. B. Internetkopfzeilen der Nachricht
- Erhaltung von Eigenschaften, die über das Objektmodel von Outlook nicht zugreifbar sind, z. B. Nachrichtentext in verschiedenen Modi (RTF, HTML, Text))
Für detaillierte Informationen, wie man mit MAPI-Eigenschaften arbeitet, lesen Sie unser Artikel "Wie sind Sicherheitseingabeaufforderung in Visual Basic Programmen für Outlook zu vermeiden", Wie empfehlen Ihnen diesen Artikel durchzulesen, bevor Sie die Arbeit mit dieser Komponente beginnen.
Die Komponentmethoden:
C++:
HRESULT GetOneProp(
VARIANT pObject,
long propTag,
VARIANT* result);
HRESULT ReadStreamProp(
VARIANT pObject,
long propTag,
BSTR* result);
HRESULT ReadRTFStreamProp(
VARIANT pObject,
long propTag,
BSTR* result);
HRESULT Initialize();
HRESULT Uninitialize();
Visual Basic:
Function GetOneProp ( _
pObject As Object, _
propTag As Long) As Variant
Function ReadStreamProp ( _
pObject As Object, _
propTag As Long) As String
Function ReadRTFStreamProp ( _
pObject As Object, _
propTag As Long) As String
Sub Initialize()
Sub Uninitialize()
GetOneProp
Ersetzt die Bedeutung von des CDO-Objekt oder des Objektmodel von Outlook. Zum Beispiel können Sie eines oder beide zu der Methode einfügen. Es spielt keine Rolle, welches Objekt Sie einfügen, Sie können CDO-Konstanten wie CdoPR_SENDER_EMAIL_ADDRESS als die Bedeutung von propTag einfügen (MAPI-Eigenschaftstag).
ReadStreamProp
Die Methode ist erstellt um die Daten der Eigenschaften mit großen Bedeutungen wie CdoPR_BODY oder PR_HTML (Text und HTML Formen von Nachrichten) im String. Diese Methode wird genutzt, da MAPI eine andere Weise zum Lesen von Eigenschaften mit großen Bedeutungen verwendet (Eigenschaft wird geöffnet und durch einen Stream gelesen).
ReadRTFStreamProp
Diese Methode funktioniert, wie die vorherige, bietet jedoch zusätzlich Stream-Dekompriemierung an. Zum Beispiel wenn die RTF-Präsentation des Nachrichtentextes in komprimierter Form (PR_RTF_COMPRESSED) gespeichert ist, und Sie versuchen es über ReadStreamProp zu lesen, bekommen Sie eine Schar von Binardaten anstatt von Text.
Initialisierung und Nicht-Initialisierung
Diese zwei Methoden ermöglichen die Initialisierung und Deinitialisierung der MAPI-Bibliothek. Wenn CDO genutzt wird, wird MAPI durch Logon-Aufruf in der CDO-Sitzung initialisiert, somit sind diese Funktionen nicht notwendig. Wenn Sie ein Add-In für Outlook entwickeln, ist MAPI gewöhnlich bereits durch Outlook initialisiert, bevor Sie Ihr Add-In initialisieren, somit können Sie dies ohne Aufruf dieser Funktionen tun.
Mit der Outlook-Automatisierung (Outlook.Application Objekterstellung) ist MAPI oft nicht initialisiert sogar nach der Ausführung des folgenden Codes:
Set olApp = New Outlook.Application
Set olNameSpace = _
olApp.GetNamespace("MAPI")
olNameSpace.Logon
Somit ist der Aufruf der Initialisierungsfunktion notwendig für entsprechende Operation der Komponente.
Die Einschränkungen der Komponente
- Die Komponente arbeitet nur mit Objekteigenschaften, und unterstützt nicht die Arbeit mit Tabellen (z.B. Tabelle der Nachrichtenanhänge)
- Die Komponente unterstützt nicht die Operationen mit Eigenschaften mit mehreren Bedeutungen (z.B. PT_MV_BINARY). Es gibt jedoch keine solchen Eigenschaften unter den CDO-Konstanten
- Beim Lesen der Eigenschaften über ReadStreamProp und ReadRTFStreamProp, kommt das Ergebnis immer als String zurück, unabhängig davon, was der Eigenschaftstyp ist.
Beispiele der Komponentennutzung
Die Komponente wird mit Quellencode in Microsoft Visual C++ 6.0 und Beispielen in Visual Basic .NET, Visual Basic 6.0 und JScript angeboten. Alle Beispiele sind sowohl für CDO als auch für Outlook Object Model. |