Mit Excel einen Termin im freigegebenen Kalender eines anderen Benutzer (nicht Standardkalender) einfügen
Liebes Forum,
vielleicht könnt Ihr mir wieder helfen...
In einer bestehenden "Outlook" Exchange-Umgebung möchte ich in einem anderen Postfach, in einem weiteren dort vorhandenen Kalender (nicht Standard-Kalender) mit einem Makro aus Excel heruas einen Termin anlegen. Ich habe bereits einen Code gefunden, der grundsätzlich das auch macht, allerdings wird lediglich der Standard-Kalender im anderen Postfach adressiert. Ich scheitere leider daran den weiteren Kalender konkret zu adressieren..
Hat jemand eine Hilfestellung für mich? (den bestehenden Code füge ich bei)
Vielen Dank schon jetzt...
Armin
vielleicht könnt Ihr mir wieder helfen...
In einer bestehenden "Outlook" Exchange-Umgebung möchte ich in einem anderen Postfach, in einem weiteren dort vorhandenen Kalender (nicht Standard-Kalender) mit einem Makro aus Excel heruas einen Termin anlegen. Ich habe bereits einen Code gefunden, der grundsätzlich das auch macht, allerdings wird lediglich der Standard-Kalender im anderen Postfach adressiert. Ich scheitere leider daran den weiteren Kalender konkret zu adressieren..
Hat jemand eine Hilfestellung für mich? (den bestehenden Code füge ich bei)
Sub CreateOtherUserAppointment()
Dim objApp As Outlook.Application
Dim objNS As Outlook.Namespace
Dim objFolder As Outlook.MAPIFolder
Dim objDummy As Outlook.MailItem
Dim objRecip As Outlook.Recipient
Dim objAppt As Outlook.AppointmentItem
Dim strMsg As String
Dim strName As String
On Error Resume Next
' ### name of person whose Calendar you want to use ###
strName = "test"
Set objApp = CreateObject("Outlook.Application")
Set objNS = objApp.GetNamespace("MAPI")
Set objDummy = objApp.CreateItem(olMailItem)
Set objRecip = objDummy.Recipients.Add(strName)
objRecip.Resolve
If objRecip.Resolved Then
On Error Resume Next
Set objFolder = _
objNS.GetSharedDefaultFolder(objRecip, _
olFolderCalendar)
If Not objFolder Is Nothing Then
Set objAppt = objFolder.Items.Add
If Not objAppt Is Nothing Then
With objAppt
.Subject = "Test Appointment"
.Start = Date
.AllDayEvent = True
.Save
End With
End If
End If
Else
MsgBox "Could not find " & Chr(34) & strName & Chr(34), , _
"User not found"
End If
Set objApp = Nothing
Set objNS = Nothing
Set objFolder = Nothing
Set objDummy = Nothing
Set objRecip = Nothing
Set objAppt = Nothing
End Sub
Vielen Dank schon jetzt...
Armin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 324245
Url: https://administrator.de/contentid/324245
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
2 Kommentare
Neuester Kommentar
Moin,
dazu musst du uns sagen wo genau der Kalender angelegt worden ist (Als Unterordner des Standardkalenders, oder direkt im Root der anderen Mailbox oder in anderen Ordnern).
Am einfachsten machst du uns einen Screenshot der detaillierten Baumansicht des anderen Outlook-Accounts.
Ein Beispiel wen der andere Kalender ein Unterordner des Default-Kalenders ist
Zweites Beispiel wenn der Kalender im Root des Stores liegt
Die Intellisense zeigt dir den Weg, das Prinzip ist immer gleich.
Jeder Ordner hat ein Folders Objekt welcher die Unterordner des jeweiligen Ordners enthält usw.
Das der User dafür über genügend Rechte in der Mailbox haben muss ist denke ich klar.
Gruß mik
dazu musst du uns sagen wo genau der Kalender angelegt worden ist (Als Unterordner des Standardkalenders, oder direkt im Root der anderen Mailbox oder in anderen Ordnern).
Am einfachsten machst du uns einen Screenshot der detaillierten Baumansicht des anderen Outlook-Accounts.
Ein Beispiel wen der andere Kalender ein Unterordner des Default-Kalenders ist
Set objFolder = objNS.GetSharedDefaultFolder(objRecip, olFolderCalendar).Folders.Item("MeinAndererKalender")
Set objFolder = objNS.GetSharedDefaultFolder(objRecip, olFolderCalendar).Parent.Folders.Item("MeinAndererKalender")
Jeder Ordner hat ein Folders Objekt welcher die Unterordner des jeweiligen Ordners enthält usw.
Das der User dafür über genügend Rechte in der Mailbox haben muss ist denke ich klar.
Gruß mik