我如何使用Outlook2007 VB代码发送一系列会议邀请使用sendonbehalfof作为代表

2019-07-30 15:54发布

我想写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

该电子邮件将说“我代表弗雷德·布洛斯的”

但我不能让它使用日历约会的工作。

我已经搜查高和低配像“约会”,“会议要求”的话,sendonbehalfof”等,看来你应该能够与约会做这个‘sendusingaccount’,但是这似乎并没有工作(它不“T失败,就忽略该指令,并从我自己的用户帐户发送如前)。

谁能告诉我如何做到这一点? 非常感谢。

Answer 1:

如果您有其他用户的邮箱委派访问,使用GetSharedDefaultFolder获取到用户的共享日历的引用,然后使用Folders.Items.Add将会议添加到其日历。

例如:

Dim fldr As Outlook.Folder
Dim appt As Outlook.AppointmentItem
  Set fldr = Session.GetSharedDefaultFolder(_
    Outlook.CreateRecipient("Fred.bloggs@fred_blogs.com"), _
    olFolderCalendar)
  Set appt = fldr.Items.Add
  ' set up your appointment here
  ' i.e.:
  ' With appt
  '   .Start = Cells(5, 24 + j) & " 17:00:00 PM"
  '   .Duration = 120
  ' End With
  ' make sure you call the appt.Save method to save the appt!

:改编自http://www.outlookcode.com/codedetail.aspx?id=43



文章来源: How can I use VB code in Outlook2007 to send a series of meeting invites using sendonbehalfof as a delegate