greatmgm
Goto Top

Mit VBA Termin in abweichenden Kalender eines freigegegeben Postfachs eintragen

Hallo zusammen,

wenn ich aus VBA den Standardkalender von Outlook befüllen will, mach ich das so:

Set outapp = CreateObject("Outlook.Application")
Set apptoutapp = outapp.CreateItem(1)
With apptoutapp
.Start = Format(meinDatum, "dd.mm.yyyy") & " " & meineZeit
.Subject = "Mein Termin"
.Location = "bei mir"
.Duration = 30
.reminderminutesbeforestart = CLng(2 * 24) * 60
.ReminderPlaySound = True
.ReminderSet = True
.Save
End With
Set apptoutapp = Nothing
Set outapp = Nothing

Jetzt habe ich im Outlook (über Office 365 Exchange Online) zusätzlich ein freigegebenes Postfach und ich möchte gerne
dort den Kalender ansprechen. Mit Session.Accounts komme ich da nicht ran, weil es ja wirklich kein physischer Account
ist der dem Outlook hinterlegt ist.
Könnt ihr mir helfen ?

Danke.

Content-ID: 465692

Url: https://administrator.de/contentid/465692

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

colinardo
Lösung colinardo 25.06.2019 aktualisiert um 10:42:16 Uhr
Goto Top
GetSharedDefaultFolder ist was du suchst. E-Mail natürlich an das freigegebene Postfach anpassen.

Set outapp = CreateObject("Outlook.Application")  
Set ns = outapp.GetNamespace("MAPI")  
Set rec = ns.CreateRecipient("user_des_freigegebenen_postfachs@domain.de")  
rec.Resolve
If rec.Resolved Then
    Set cal = ns.GetSharedDefaultFolder(rec, 9)
    With cal.items.Add(1)
        .Start = Format(meinDatum, "dd.mm.yyyy") & " " & meineZeit  
        .SUBJECT = "Mein Termin"  
        .Location = "bei mir"  
        .Duration = 30
        .ReminderMinutesBeforeStart = CLng(2 * 24) * 60
        .ReminderPlaySound = True
        .ReminderSet = True
        .Save
    End With
End If

Grüße Uwe
greatmgm
greatmgm 25.06.2019 um 10:43:58 Uhr
Goto Top
1000Dank.
colinardo
colinardo 25.06.2019 um 10:47:41 Uhr
Goto Top
You're welcome.