VBscript outlook form creating meeting in specific calendar

血红的双手。 提交于 2019-12-02 15:57:43

问题


I've been working on this the past few days. My VBscript code works and will create a meeting in the default calendar in Outlook. The part I can't seem to figure out is how to have the meeting made in a custom calendar named "Test". This calendar is listed under "My Calendars". Any advice?

Sub commandbutton1_Click()                                  

If CommandButton1 = False Then

Const olFolderCalendar = 9
Const olAppointmentItem = 1
Const olOutOfOffice = 3

Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
' bottom line original:  Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) 

Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) '.Parent.Items("Test")
Set objApptItems = objCalendar.Items

objApptItems.IncludeRecurrences = True
objApptItems.Sort "[Start]"

Set objHoliday = objOutlook.CreateItem(olAppointmentItem) 
                            'creating day off appointment
objHoliday.Subject = "Boxing Day"
objHoliday.Start = Item.UserProperties("DateText")
objHoliday.End = Item.UserProperties("EndDate")
objHoliday.AllDayEvent = True
objHoliday.ReminderSet = False
objHoliday.BusyStatus = olOutOfOffice
objHoliday.Save

                            'testing confirmation email
Set objMail = objOutlook.CreateItem(o)
    'Item.To
objMail.to = Item.To    'UserProperties("From")
objMail.Subject = "Confirmation: Requested Day(s) Off Approved"
objMail.Body = "Congratulations, your requested day(s) off have been Approved!"
objMail.Send

                            'closes email after hitting button
'For i = objOutlook.Inspectors.count To 1 Step -1
'        objOutlook.Inspectors.Item(i).Close True
'    Next

End If
End Sub

回答1:


Items are added to non-default calendars.

Sub Add_To_NonDefault_Folder()

    Dim objNameSpace As NameSpace
    Dim objCalendar As Folder
    Dim objHoliday As AppointmentItem

    Set objNameSpace = GetNamespace("MAPI")
    Set objCalendar = objNameSpace.GetDefaultFolder(olFolderCalendar).Folders("Test")

    Set objApptItems = objCalendar.items
    Set objHoliday = objCalendar.items.Add(olAppointmentItem)

    objHoliday.Subject = "Appt test"
    objHoliday.SAVE

End Sub


来源:https://stackoverflow.com/questions/45869055/vbscript-outlook-form-creating-meeting-in-specific-calendar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!