【发布时间】:2018-10-06 03:46:16
【问题描述】:
我正在尝试让多个用户能够使用 Excel 将约会添加到共享日历。
以下代码对我有用。我拥有共享日历,它位于 Outlook365 的日历文件夹中。
Sub CreateAppt()
Const olFolderCalendar = 9
Const olPublicFoldersAllPublicFolders = 18
Const olAppointmentItem = 1 '1 = Appointment
Set objOutlook = CreateObject("Outlook.Application")
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set items = objNameSpace.GetDefaultFolder(olFolderCalendar).items
'check to see if calendar exists
For i = 1 To objNameSpace.GetDefaultFolder(olFolderCalendar).Folders.Count
If objNameSpace.GetDefaultFolder(olFolderCalendar).Folders.Item(i).Name = "Maintenance Task Manager" Then
'set calendar name and set new appointment
Set objCalendar = objNameSpace.GetDefaultFolder(olFolderCalendar).Folders("Maintenance Task Manager")
Set objapt = objCalendar.items.Add(olAppointmentItem)
'create appointment for PM
With objapt
.Subject = "PM Due for " & ActiveSheet.Range(PMcell).Offset(0, -6).Value
.Location = ActiveSheet.Range(PMcell).Value
.AllDayEvent = True
.Start = ActiveSheet.Range(PMcell).Value
.ReminderSet = True
.ReminderMinutesBeforeStart = 10080
If Not emailaddy = "" Then
.Recipients.Add (emailaddy)
End If
.BusyStatus = olFree
.Categories = "Equipment PM's"
.body = PersonResponsible & ", you are responsible for the PM on this piece of equipment due on " & Format(DueDate, "Long Date")
.Save
End With
Exit Sub
End If
Next i
End Sub
代码在日历文件夹中查找名为“维护任务管理器”的日历。
问题是在其他用户的 Outlook 中,此文件夹不在日历文件夹中,因此无法找到。它似乎不在任何文件夹中。
【问题讨论】:
标签: excel vba outlook calendar