Я пытаюсь, чтобы несколько пользователей могли добавить встречу в общий календарь с помощью 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 других пользователей эта папка отсутствует в папке Календарь и поэтому не может быть найдена.Кажется, его нет ни в одной папке.