首页 文章

如何在Excel中使用VBA代表另一个日历发送 Session 请求? [重复]

提问于
浏览
4

这个问题在这里已有答案:

我是第二次发布此请求,因为虽然我收到了JimmyPena的回复,但该解决方案无效,我似乎无法添加我对发生的事情的评论 . VBA代码位于Excel电子表格中,而不是Outlook中 .

我正在尝试在Excel 2007中编写一些VB代码,这些代码将在电子表格中指定的日期自动将 Session 邀请从Outlook 2007日历发送到Excel电子表格中列出的收件人列表 . 这很有用,因为我可以通过单击按钮向不同日期的不同人发送数百个 Session 请求 . 使用以下代码从我自己的用户帐户发送时,我可以做到这一点:

' 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'这样的虚拟用户帐户发送 Session 请求,这样虚拟日历就可以存储所有 Session 邀请,其他代表也可以使用相同的虚拟对象操作系统用户帐号 . 使用以下代码发送电子邮件时,此工作正常:

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'说

但我无法使用日历约会 .

我用'约会',' Session 要求',sendonbehalfof等等词搜索了高低,看来你应该可以用'sendusingaccount'进行约会,但这似乎不起作用(它没有不会失败,只是忽略指令并像以前一样从我自己的用户帐户发送 .
谁能告诉我怎么做? . 非常感谢 .

1 回答

  • 0

    您是否考虑过生成Internet日历约会(ICA)请求并通过电子邮件发送给我们?我相信该格式包含您可以使用的委托信息 .

    Here is a link到一些Microsoft文档中有关如何添加它(在ASP.Net中,但这应该无关紧要)和here is a link到定义格式的IETF RFC .

相关问题