Öffentliche Termine auslesen - Outlook 2010 - VB.NET
Hallo,
ich schreibe momentan an einer Funktion, die mir die öffentlichen Kalendereinträge aller Email-Konten als CSV ausgibt.
Das funktioniert auch soweit.
Doch leider bekomme ich bei bestimmten Konten folgende Fehlermeldungen:
&
Da die unterschiedlichen Fehler immer bei den gleichen Konten auftaucht, bin ich ein wenig ratlos. Denn es gibt keine Einträge die fehlerhaft sind.
Mein Quellcode der Funktion ist folgender:
Hat von euch schon jemand mit dem gleichen Problem zukämpfen gehabt??
Vielen Dank und ein schönes Wochenende.
ich schreibe momentan an einer Funktion, die mir die öffentlichen Kalendereinträge aller Email-Konten als CSV ausgibt.
Das funktioniert auch soweit.
Doch leider bekomme ich bei bestimmten Konten folgende Fehlermeldungen:
Die Anzahl der Elemente, die gleichzeitig geöffnet werden können, wurde vom Serveradministrator begrenzt. Schließen Sie zunächst geöffnete Nachrichten, oder entfernen Sie Anhänge und Bilder von ungesendeten Nachrichten, die Sie gerade verfassen.
Das COM-Objekt des Typs "System.__ComObject" kann nicht in den Schnittstellentyp "Microsoft.Office.Interop.Outlook.AppointmentItem" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnittstelle mit der IID "{00063033-0000-0000-C000-000000000046}" aufgrund des folgenden Fehlers nicht durchgeführt werden konnte: Schnittstelle nicht unterstützt (Ausnahme von HRESULT: 0x80004002 (E_NOINTERFACE)).
Da die unterschiedlichen Fehler immer bei den gleichen Konten auftaucht, bin ich ein wenig ratlos. Denn es gibt keine Einträge die fehlerhaft sind.
Mein Quellcode der Funktion ist folgender:
oNs = olApp.GetNamespace("MAPI")
oUser = oNs.CreateRecipient(user)
oUser.Resolve()
oKalender = oNs.GetSharedDefaultFolder(oUser, Outlook.OlDefaultFolders.olFolderCalendar)
oKalender.Items.IncludeRecurrences = True
oKalenderEintraege = oKalender.Items
oKalenderEintraege.Sort("[Start]", True)
For Each oTermin In oKalenderEintraege
recPat = oTermin.GetRecurrencePattern
If oTermin.BusyStatus <> Outlook.OlBusyStatus.olFree And oTermin.BusyStatus <> Outlook.OlBusyStatus.olTentative Then
If oTermin.Start >= Datum Or oTermin.End >= Datum And oTermin.IsRecurring = False Then
Using writer As New IO.StreamWriter(strPfad, True)
writer.WriteLine(oTermin.Start.ToString & ";" & oTermin.End.ToString & ";" & oTermin.Subject & ";" & oTermin.Duration & ";" & user & ";")
End Using
ElseIf oTermin.IsRecurring = True Then
If recPat.NoEndDate Then
tmpdat = oTermin.Start
Do While tmpdat <= Now.Date.Date
If recPat.RecurrenceType = Outlook.OlRecurrenceType.olRecursDaily Then
tmpdat = tmpdat.AddDays(recPat.Interval).Date
ElseIf recPat.RecurrenceType = Outlook.OlRecurrenceType.olRecursWeekly Then
tmpdat = tmpdat.AddDays(7).Date
ElseIf recPat.RecurrenceType = Outlook.OlRecurrenceType.olRecursMonthly Then
tmpdat = tmpdat.AddMonths(1).Date
ElseIf recPat.RecurrenceType = Outlook.OlRecurrenceType.olRecursYearly Then
tmpdat = tmpdat.AddYears(1).Date
End If
Loop
If oTermin.AllDayEvent = True Then
Using writer As New IO.StreamWriter(strPfad, True)
writer.WriteLine(tmpdat.Date & " 00:00:00;" & tmpdat.AddDays(1).Date & " 00:00:00;" & oTermin.Subject & ";" & oTermin.Duration & ";" & user & ";")
End Using
Else
Using writer As New IO.StreamWriter(strPfad, True)
writer.WriteLine(tmpdat & " " & Right(oTermin.Start.ToString, 8) & ";" & tmpdat & " " & Right(oTermin.End.ToString, 8) & ";" & oTermin.Subject & ";" & oTermin.Duration & ";" & user & ";")
End Using
End If
End If
End If
End If
Next
Hat von euch schon jemand mit dem gleichen Problem zukämpfen gehabt??
Vielen Dank und ein schönes Wochenende.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 196484
Url: https://administrator.de/forum/oeffentliche-termine-auslesen-outlook-2010-vb-net-196484.html
Ausgedruckt am: 29.04.2025 um 20:04 Uhr