[VB] Outlook Schnittstelle,Problem mit Outlook 2003 und 2007

FlashMX

Mitglied
Hallo,

ich habe Outlook 2007 auf dem Rechner mit VB2005.
Nun habe ich ein Programm geschrieben welches mir die Kontaktdaten ausließt.
Dafür habe ich die Outlook Tools als Referenz eingebunden.

Wenn ich das Programm nun aber auf einem Rechner ausführen will auf dem Outlook 2003 Installiert ist funktioniert dies nicht.
Das Problem schein die Version der Outlook Tools zu sein v9 bei 2003 und v12 bei 2007.

Gibt es eine Möglichkeit für beide Outlook Versionen zu Programmieren, also wie ein Universales Toolkit?

Code:
Imports Microsoft.Office.Interop
[...]
Dim oApp As Outlook.Application = New Outlook.Application()
Dim oNS As Outlook.NameSpace = oApp.GetNamespace("mapi")
oNS.Logon("Outlook", Missing.Value, False, True) 
Dim cContacts As Outlook.MAPIFolder = oNS.GetDefaultFolder( _
  Outlook.OlDefaultFolders.olFolderContacts)
Dim oItems As Outlook.Items = cContacts.Items
Dim oCt As Outlook.ContactItem
For i As Integer = 1 To oItems.Count - 1
oCt = oItems(i)
Next
[...]
 
Hallo FlashMX,

ich nutze zum Zugriff auf Outlook die Office Pias, die auch über
z.B. Microsoft.Office.Interop.Outlook.Application eingebunden werden.
Meine Microsoft.Office.Interop.Outlook.dll hat die Version 10.0.4504.0.
und die funktioniert mit Outlook 98/2000/2002/XP/2003 und 2007.

Das kann aber auch daran liegen das ich (in dem speziellen Fall) mit später
Bindung arbeite, also mit GetObject und CreateObject.

z.B. Prüfen ob eine Outlook Instanz bereits offen ist
Try
OLApp = CType(GetObject(, "Outlook.Application"), Microsoft.Office.Interop.Outlook.Application)
Catch ex As Exception
OLApp = CType(CreateObject("Outlook.Application"), Microsoft.Office.Interop.Outlook.Application)
End Try

Gruß
Jens
 
Kann ich etwas mehr zu Office Pias erfahren, was ist darunter zu verstehen.

Was brauch man um Office Pias zu nutzen?

Und ist es möglich ein Beispiel Source App zu bekommen.
 
Hallo FlashMX,

Google nach Office PIAs spuckt genug aus, sorry habe nicht viel Zeit.

Letztendlich sind das nur die Interop.dll's zum einbinden / verweisen in den Code
und die Kapseln in NET eben die direkte Einbindung z.B. der direkten
Office.Outlook.Dll (o.ä.)

Eventuell geht es so schon. Ansonsten würde ich späte Bindung versuchen wie in
meinem Beispiel. Da wird eben die oApp nicht als Outlook.Application deklariert
sondern als Object und später mit GetObject oder CreateObject zu Outlook.Application gecastet.

oApp= CType(CreateObject("Outlook.Application"), Microsoft.Office.Interop.Outlook.Application)


Gruß
Jens
 

Neue Beiträge

Zurück