Hallo
Office 365 (Microsoft 365 Apps for Enterprise)
Excel Version 2402
In einem Excel-Makro sollen auf bei den Mails , die ein Meeting Request beinhalten die Start und Ende Zeit dieses Meetings ausgegeben werden.
Der nachfolgende Code listet die Startzeit beim ersten Mail mit Meeting-Request , danach wird bei der Zeile:
Debug.Print ("A.Start " & A.Start)
mit dem o.g. Fehler abgebrochen:Laufzeitfehler 91: Objektvariable ... nicht festgelegt
Im Direktbereich wird folgende Zeile ausgegeben:
A.Start 27.11.2023 10:00:00
... danach der Fehler
Welche Änderungen am Code sind erforderrlich?
Danke ,
Gruß B.Kochs
'Klassenmodul BK_Class
Friend Sub EnumerateDefaultAppointmentsAndDoSomethingSillyThatIllustratesAPoint(calendarType As String)
'https://stackoverflow.com/questions/4365890/find-underlying-object-type-for-outlook-meetingitem
'https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/object-variable-not-set-error-91
Dim myOutlookApp As Object
Dim myNameSpace As Outlook.Namespace
Dim myFolder As Outlook.Folder
Dim calendar As Outlook.Folder
Dim calendarItems As Outlook.Items
Dim calendarItem As Object
Dim A As AppointmentItem
Dim myMtg As Outlook.MeetingItem
Set myOutlookApp = CreateObject("Outlook.Application")
Set myNameSpace = myOutlookApp.GetNamespace("MAPI")
Set calendar = myNameSpace.GetDefaultFolder(olFolderDeletedItems)
Set calendarItems = calendar.Items.Restrict("[MessageClass] = 'IPM.Schedule.Meeting.Request'")
For olItemsCount = 1 To calendarItems.Count
Set calendarItem = calendarItems.Item(olItemsCount)
If calendarItem.MessageClass = "IPM.Schedule.Meeting.Request" Then
'Debug.Print ("Meeting.Request YO")
Set A = calendarItem.GetAssociatedAppointment(False)
Debug.Print ("A.Start " & A.Start)
Else
Debug.Print ("Meeting.Request NO")
End If
Next
End Sub
'normales Modul in dem die Methode des Klassenmoduls ausgeführt wird.
Sub Test_CM()
Dim o_BK_Class As New BK_Class
o_BK_Class.EnumerateDefaultAppointmentsAndDoSomethingSillyThatIllustratesAPoint ("")
End Sub
|