Ich schreibe ein Excel-Makro, das mithilfe von Benutzeranmeldeinformationen eine Verbindung zu einer Reihe von Outlook- (Exchange-) Kalendern herstellt und die Kalenderdaten analysiert, um sie in einer Tabelle auszugeben. Ich konnte die Kalenderdaten aus meiner lokalen Outlook-Anwendung abrufen, kann aber nicht herausfinden, wie ich mich bei einem anderen Konto anmelden kann. Ist das möglich? Es muss eine Möglichkeit geben, auf Exchange-Kalender zuzugreifen. Von dem, was ich bereits im Internet gesammelt habe, kann ich vielleicht MAPI verwenden? Ich weiß einfach nicht, wie es für diesen Fall ist.Wie melde ich mich bei einem Exchange-Kalender von Excel an
Sub ListAppointments()
'Dim mapi_session As MSMAPI.MAPISession
'Set mapi_session = CreateObject("MSMAPI.MAPISession")
Dim olApp As Object
Dim olNS As Object
Dim olFolder As Object
Dim olApt As Object
Dim myStart As Date
Dim myEnd As Date
Dim NextRow As Long
Dim today, date1, date2
today = VBA.Format(Date, "yyyy-mm-dd")
myStart = VBA.Format(Year(today) & "-" & Month(today) & "-01", "yyyy-mm-dd")
myEnd = DateAdd("m", 3, myStart)
date1 = InputBox("Enter range beginning date", , myStart)
date2 = InputBox("Enter range end date", , myEnd)
Set olApp = CreateObject("Outlook.Application")
Set olNS = olApp.GetNamespace("MAPI")
olNS.Logon "", "", False, True
Set olFolder = olNS.GetDefaultFolder(9) 'olFolderCalendar
Range("A1:D1").Value = Array("Subject", "Start", "End", "Location")
NextRow = 2
For Each olApt In olFolder.Items
If olApt.Start >= myStart And olApt.End <= myEnd Then
Cells(NextRow, "A").Value = olApt.Subject
Cells(NextRow, "B").Value = olApt.Start
Cells(NextRow, "C").Value = olApt.End
Cells(NextRow, "D").Value = olApt.Location
NextRow = NextRow + 1
End If
Next olApt
Set olApt = Nothing
Set olFolder = Nothing
Set olNS = Nothing
Set olApp = Nothing
Columns.AutoFit
End Sub
Das ist alles was ich bis jetzt habe, was mich nur lokale Outlook Daten greifen lässt.