我在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对象模型中没有其他可用的方法。