【发布时间】:2012-08-31 20:04:44
【问题描述】:
我有一个用于 Outlook 的宏,它部分地编辑电子邮件或日历项目的内容,这需要添加“Microsoft Word 14.0 对象库”参考。我知道如何在 Excel ActiveWorkbook.VBProject.References.AddFromGuid() 中执行此操作,但在 Outlook 中找不到有关执行此操作的任何信息。
有可能吗?
每个 Remou 的示例代码:
Sub CreateNotesEmailFromAppointment()
Dim oMeeting As AppointmentItem
Dim oEmailTemplate As Outlook.MailItem
Dim oEmailWordDoc As Word.Document
If Application.ActiveInspector.CurrentItem.Class = olAppointment Then
Set oMeeting = Application.ActiveInspector.CurrentItem
Set oEmailTemplate = Application.CreateItemFromTemplate(PathToTemplateFile)
oEmailTemplate.Display
Set oEmailWordDoc = Application.ActiveInspector.WordEditor
With oEmailWordDoc.Content.Find
.Text = "<Date>"
.Replacement.Text = Month(oMeeting.Start) & "/" & Day(oMeeting.Start)
.Execute Replace:=wdReplaceAll
End With
'More editing and formatting of oEmailWordDoc follows'
End If
End Sub
【问题讨论】:
-
当我将
Dim oEmailWordDoc As Word.Document更改为Dim oEmailWordDoc As Object时,代码会使用 Outlook 模板为我运行 -
有趣。当我已经启用了 Word 对象库引用时,它可以正常工作。但是,当我没有 Word 对象库引用时,子程序根本不会执行(例如,我将 debug.print 行作为第一行但它没有执行)。我想知道这是否与我的 Outlook 版本(2010,64 位)有关?
-
我用 2013 64 位测试过,我无法想象它有那么大的不同。我可能有时间再看一下。
-
是的,很有趣。如果 Word 库存在,则进行替换,否则不进行替换。
-
我添加了一个关于不同方法的注释。
标签: vba outlook outlook-2010