【发布时间】:2013-12-28 04:30:14
【问题描述】:
VBA 新手。
我使用 MS Project 作为任务调度程序,并在 MS Project 中构建了自定义视图,以便每个资源都可以查看其特定任务。我正在使用下面的代码在每个资源的 Outlook 日历中创建约会,方法是他们在 MS Project 中选择特定的任务视图并运行下面的宏。这工作正常,并根据需要填充个人日记中的约会。
但是我正在尝试扩展此代码的功能,以允许“管理员”为 MS Project 中的每个资源选择特定的任务视图,然后运行宏来生成要发送给每个人的约会以创建一个在他们的日历上约会。
我遇到的问题是,虽然 Outlook 约会已正确创建并在约会的参加者选项卡中包含(已解决的)资源名称,但约会表单本身缺少发送按钮。如果我随后手动将任何其他与会者添加到约会中,它会解析并出现“发送”按钮并且可以正确发送。
Msgbox 仅显示 MS Project 中分配的资源的名称。
我在设置 myDelegate 时尝试了多种变化,但没有成功,对此的任何想法将不胜感激。
Option Explicit
Public myOLApp As Object
Sub Export_Selection_to_OL_Appointments_AutoEmail()
Dim myTask As Task
Dim myDelegate As Object
Dim myItem As Object
Dim Msg As Object
On Error Resume Next
Set myOLApp = CreateObject("Outlook.Application")
For Each myTask In ActiveSelection.Tasks
Set myItem = myOLApp.CreateItem(1)
myItem.Assign
With myItem
Set myDelegate = myItem.Recipients.Add(myTask.Resources(1).EMailAddress)
myDelegate.Resolve
Msg = MsgBox("myDelegate is " & myDelegate, vbOKOnly)
.Start = myTask.Start
.End = myTask.Finish
.Subject = myTask.Text1 & ": " & myTask.Text2
.Categories = myTask.Project
.Body = myTask.Notes
.Display
.Send
End With
Next myTask
End Sub
【问题讨论】:
标签: vba outlook ms-project