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-Key: 465692

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

Printed on: April 25, 2024 at 01:04 o'clock

Member: colinardo
Solution colinardo Jun 25, 2019 updated at 08:42:16 (UTC)
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
Member: greatmgm
greatmgm Jun 25, 2019 at 08:43:58 (UTC)
Goto Top
1000Dank.
Member: colinardo
colinardo Jun 25, 2019 at 08:47:41 (UTC)
Goto Top
You're welcome.