Sendusingaccount仅在Outlook未运行时有效

时间:2018-03-09 09:45:10

标签: excel vba outlook

我正在尝试在Outlook中自动执行某些日历邀请。自动化基于Excel中的VBA。

我需要从我有完全访问权限的辅助Outlook(Exchange)帐户发送邀请。下面的代码是一个简单的测试,应该这样做。但由于某些原因,只有当Outlook尚未运行时它才有效。

当我运行代码而Outlook已在运行时,会创建邀请,但“来自”字段为空,邀请仅显示在收件人的日历中,而不是我自己的日历中。

当代码执行时,当 运行时,一切正常:创建了邀请,“from”字段正确显示“mysecondaryaccount@domain.com”邀请函显示在收件人的日历和我自己的日历中。

当我尝试在代码中放入我的主帐户时(即设置olAcct = OL.Session.Accounts(“myprimaryaccount@domain.com”)),无论Outlook的状态如何运行,一切都运行得很好运行)。

有关如何解决此问题的任何想法,因此代码可以在Outlook运行时运行吗?

Sub test()
Dim OL As Outlook.Application, olApp As Outlook.AppointmentItem, olAcct As Outlook.Account
Set OL = GetObject(, "Outlook.Application")
Set olApp = OL.CreateItem(olAppointmentItem)
Set olAcct = OL.Session.Accounts("mysecondaryaccount@domain.com")
olApp.MeetingStatus = olMeeting
olApp.RequiredAttendees = "whoyiamsendingto@domain.com"
olApp.Subject = "test"
olApp.body = "testing"
olApp.SendUsingAccount = olAcct
olApp.Display
End Sub

0 个答案:

没有答案