【问题标题】:vba Outlook create an email based on a userform's data and a templatevba Outlook 根据用户表单的数据和模板创建电子邮件
【发布时间】:2017-12-15 08:20:27
【问题描述】:

我想创建一个宏:

1) 生成一个询问信息的用户表单

2) 显示一个模板,里面填写了刚刚写在用户表单中的信息

为此,我想知道是否可以像在 Word 中那样使用书签。我会创建一个带有书签的邮件模板,我可以在用户窗体的validation_click() 事件中替换它们。我在网上找不到任何示例,而且书签似乎不像在 Word 中那样工作(它们的显示方式不是“[bookmark1]”)

感谢您的帮助

【问题讨论】:

标签: vba email templates outlook


【解决方案1】:

您可以考虑在 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 文章可能对您有所帮助。

附: Outlook 使用 Word 作为电子邮件编辑器。因此,您可以在处理项目主体时使用 Word 对象模型。有关更多信息,请参阅Chapter 17: Working with Item Bodies

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多