Мы резервируем конференц-залы от внешнего вида.Мы создаем нашу встречу и добавляем комнату в качестве ресурса в запрос на встречу, и приглашение отправляет комнате приглашение по электронной почте, и комната принимает.У меня проблема в том, что я хотел бы добавить 15-минутный буфер перед моей встречей для настройки.Я пытаюсь создать макрос, который я могу запустить во время настройки моего собрания, который автоматически создаст 15-минутное собрание и отправит запрос.
Пока у меня все это работает, КРОМЕ, он не отправляет комнатуприглашение на буферную встречу.Он извлечет все данные, когда я захожу на это буферное собрание и смотрю, он показывает, что комната собраний находится в списке приглашенных участников, но фактически не отправляет приглашение.Как я могу это сделать?Даже если это связано с открытием 15-минутного периода в реальном окне, где мне нужно нажать «Отправить», я в порядке, но я хочу, чтобы он извлек ВСЕ данные с основного собрания. Ниже приведено то, что я имею до сих пор.
Public Sub AddTravelTime()
Dim coll As VBA.Collection
Dim obj As Object
Dim Appt As Outlook.AppointmentItem
Dim Travel As Outlook.AppointmentItem
Dim Items As Outlook.Items
Dim Before&, After&
Dim Category$, Subject$
'1. Block minutes before and after the appointment
Before = 30
After = 30
'2. Skip this if the default values never change
Before = InputBox("Minutes before:", , Before)
After = InputBox("Minutes after:", , After)
If Before = 0 And After = 0 Then Exit Sub
'3. Assign this category
Category = "Travel"
Set coll = GetCurrentItems
If coll.Count = 0 Then Exit Sub
For Each obj In coll
If TypeOf obj Is Outlook.AppointmentItem Then
Set Appt = obj
If TypeOf Appt.Parent Is Outlook.AppointmentItem Then
Set Items = Appt.Parent.Parent.Items
Else
Set Items = Appt.Parent.Items
End If
'4. Use the main appointment's subject
Subject = Appt.Subject
Location = Appt.Location
Resources = Appt.Resources
If Before > 0 Then
Set Travel = Items.add
Travel.Subject = Subject
Travel.Location = Location
Travel.Resources = Resources
Travel.Start = DateAdd("n", -Before, Appt.Start)
Travel.Duration = Before
Travel.Categories = Category
Travel.Save
End If
If After > 0 Then
Set Travel = Items.add
Travel.Subject = Subject
Travel.Start = Appt.End
Travel.Duration = After
Travel.Categories = Category
Travel.Save
End If
End If
Next
End Sub
Private Function GetCurrentItems(Optional IsInspector As Boolean) As
VBA.Collection
Dim coll As VBA.Collection
Dim Win As Object
Dim Sel As Outlook.Selection
Dim obj As Object
Dim i&
Set coll = New VBA.Collection
Set Win = Application.ActiveWindow
If TypeOf Win Is Outlook.Inspector Then
IsInspector = True
coll.add Win.CurrentItem
Else
IsInspector = False
Set Sel = Win.Selection
If Not Sel Is Nothing Then
For i = 1 To Sel.Count
coll.add Sel(i)
Next
End If
End If
Set GetCurrentItems = coll
End Function
Мне бы очень хотелось просто создать 15-минутный буфер для меня при запуске макроса, а также отправить в комнату приглашение на это буферное собрание и больше ничего не делать.