批量"Copy to My Calendar" VBA 宏的展望



我在Outlook文件夹中有大约14000个Outlook邀请,这些邀请是由法律查询生成的。律师希望所有这些都被导入到一个正常的";日历视图";(将邀请变成实际的日历条目(。我想出的两个解决方案要么需要将邀请转发到一个单独的帐户(并自动接受(,要么使用Outlook";复制到我的日历"选项,这正是我希望实现的。

下面是我在Outlook文件夹中找到的转发所有选定邀请的代码。我担心的是,它会通知会议组织者,我们当然不希望。我希望有人能提出修改建议,这样就可以触发";复制到我的日历"相反如有任何帮助或指导,我们将不胜感激!

Sub BatchForwardMultipleCalendarItems()
Dim objSelection As Outlook.Selection
Dim i As Integer
Dim objCalendarItem As Outlook.AppointmentItem
Dim objMail As Outlook.MailItem

Set objSelection = Outlook.Application.ActiveExplorer.Selection

For i = objSelection.Count To 1 Step -1
Set objCalendarItem = objSelection.Item(i)

Set objMail = Outlook.Application.CreateItem(olMailItem)
With objMail
.Attachments.Add objCalendarItem
'Change the recipient's email address
.Recipients.Add ("shelly@datanumen.com")
.Recipients.ResolveAll
.Subject = objCalendarItem.Subject
.Body = "Type body here ...."
.Send
End With
Next i
End Sub

而不是在代码中创建一个新的邮件项目,并将其与附加的约会项目一起发送:

Set objMail = Outlook.Application.CreateItem(olMailItem)

您可以使用AppointmentItem.ForwardAsVcal方法,该方法将AppointmentItem转发为vCal(虚拟日历项(。返回表示附加日历信息的新邮件项目的MailItem对象。

在Outlook对象模型中没有其他可用的方法。

最新更新