複数の会議室の予約状況を確認し、空いている会議室を予約するVBScriptを作りたいです。
以下のようなVBScriptで、他人の予定は確認できるのですが、会議室の予約状況を確認できません。
VBScript
1Dim objOutlookApp 2Set objOutlookApp = WScript.CreateObject("Outlook.Application") 3 4Dim objRecipient 5' 会議室を指定 6Set objRecipient = objOutlookApp.Session.CreateRecipient("daikaigi@abc.com") 7' 人を指定(コメントアウト) 8'Set objRecipient = objOutlookApp.Session.CreateRecipient("tanacck@abc.com") 9 10Dim objAppointmentItems 11Set objAppointmentItems = objOutlookApp.Session.GetSharedDefaultFolder(objRecipient, 9).Items '9 = olFolderCalendar 12 13' 会議室を指定すると、ここでエラーが発生する。 14objAppointmentItems.Sort("[Start]") 15objAppointmentItems.IncludeRecurrences = True 16 17Dim objAppointmentItem 18Set objAppointmentItem = objAppointmentItems.Find("[Start] < ""03/10/2020 06:00 PM"" AND [End] >= ""03/10/2020 08:00 AM""") 19 20While Not objAppointmentItem Is Nothing 21 ' 人を指定すると、その人の予定をメッセージボックスに表示できる。 22 MsgBox """" & objAppointmentItem.Subject & _ 23 """,""" & objAppointmentItem.Location & _ 24 """,""" & objAppointmentItem.Start & _ 25 """,""" & objAppointmentItem.End & _ 26 """,""" & objAppointmentItem.Categories & _ 27 """,""" & objAppointmentItem.Organizer & _ 28 """,""" & objAppointmentItem.RequiredAttendees & _ 29 """,""" & objAppointmentItem.OptionalAttendees & _ 30 """" 31 32 Set objAppointmentItem = objAppointmentItems.FindNext 33Wend
会議室を指定した場合、objAppointmentItems.Sort("[Start]")で以下のメッセージが表示されます。
Windows Script Host
エラー: "Start" は不明なプロパティです。
コード: 80020009
人と指定した場合はAppointmentItemオブジェクト、会議室を指定した場合はMeetingItemオブジェクトが帰ってきていて、MeetingItemオブジェクトにはStartプロパティがないためにこのエラーになっているのではないか、というところまでわかっているのですが、そこで詰まっています。
PowerShellやVBAでも良いので、会議室の予約状況を確認する方法があればご教授いただけないでしょうか。
どうぞよろしくお願いいたします。