我第二次发布此请求,因为虽然我收到了 JimmyPena 的回复,但该解决方案没有奏效,而且我似乎无法就发生的事情添加我的评论。VBA 代码位于 Excel 电子表格而非 Outlook 中。
我正在尝试在 Excel 2007 中编写一些 VB 代码,该代码将在电子表格中指定的日期自动从 Outlook 2007 日历向 Excel 电子表格中列出的收件人列表发送会议邀请。这很有用,因为只需单击一下按钮,我就可以在不同的日期向不同的人发送数百个会议请求。使用以下代码从我自己的用户帐户发送时,我可以做到这一点:
' Create the Outlook session
Set myoutlook = CreateObject("Outlook.Application")
' Create the AppointmentItem
Set myapt = myoutlook.CreateItem(olAppointmentItem) ' Set the appointment properties
With myapt
.Subject = " Assessment Centre "
.Location = "conference room A"
.Start = Cells(5, 24 + j) & " 17:00:00 PM"
.Duration = 120
.Recipients.Add Cells(i, 1).Value
.MeetingStatus = olMeeting
' not necessary if recipients are email addresses
'myapt.Recipients.ResolveAll
.AllDayEvent = "False"
.BusyStatus = "2"
.ReminderSet = False
.Body = L1 & vbCrLf & vbCrLf & L2 & vbCrLf & vbCrLf & L3 & vbCrLf & vbCrLf & L4
.Save
.send
End With
但现在我想从我是代表的虚拟用户帐户发送会议请求,使用类似“sendonbehalfof”的东西,以便虚拟日历存储所有会议邀请,其他代表也可以使用相同的虚拟用户来操作系统用户帐号。这在使用以下代码发送电子邮件时工作正常:
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(0)
With oMail
.To = " John.Smith@John_Smith.com "
.Subject = "Subject"
.Body = "Body"
.SentOnBehalfOfName = "Fred.bloggs@fred_blogs.com"
.send
End With
电子邮件会说“我代表 Fred Bloggs”</p>
但我无法让它与日历约会一起使用。
我用'约会'、'会议请求'、sendonbehalfof'等词进行了高低搜索,看来你应该能够用'sendusingaccount'进行约会,但这似乎不起作用(它没有'不会失败,只是忽略指令并像以前一样从我自己的用户帐户发送)。
谁能告诉我该怎么做?. 非常感谢。