我想创建一个宏:
1)生成要求信息的用户表单
2)显示一个模板,其中填充了刚刚在userform
中写入的信息为此,我想知道是否可以使用Word中的书签。我会创建一个带有书签的邮件模板,我可以在userform的validation_click()事件中替换它们。我在Web上找不到任何示例,书签似乎没有像Word中那样工作(它们看起来不像“[bookmark1]”)
感谢您的帮助
答案 0 :(得分:0)
您可以考虑在Outlook中创建模板。 MailItem的SaveAs方法允许将项目保存为磁盘上的模板:
Sub CreateTemplate()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItem(olMailItem)
MyItem.Subject = "Status Report"
MyItem.To = "Eugene Astafiev"
MyItem.Display
MyItem.SaveAs Environ("HOMEPATH") &; "\My Documents\statusrep.oft", OlSaveAsType.olTemplate
End Sub
在模板中,您可以定义以后可以替换的占位符(创建新项目时)。 Application类的CreateItemFromTemplate方法从Outlook模板(.oft)创建一个新的Microsoft Outlook项目并返回新项目。
Sub CreateFromTemplate()
Dim MyItem As Outlook.MailItem
Set MyItem = Application.CreateItemFromTemplate("C:\statusrep.oft", _
Application.Session.GetDefaultFolder(olFolderDrafts))
MyItem.Save
End Sub
您可能会发现How To: Create a new Outlook message based on a template文章有用。
P.S。 Outlook使用Word作为电子邮件编辑器。因此,您可以在处理项主体时使用Word对象模型。有关详细信息,请参阅Chapter 17: Working with Item Bodies。