【问题标题】:How can I send the contents of a Word document as plain-text email?如何将 Word 文档的内容作为纯文本电子邮件发送?
【发布时间】:2015-02-09 14:57:44
【问题描述】:

我有一个 Word 文档(保存为启用宏的模板),允许用户使用下拉框填写“休假”表单。它设置为通过电子邮件向主管发送请求的附件;但是,文档在使用时会自行保存,这可能会将敏感信息泄露给下一个查看表单的人。

是否可以在电子邮件正文中以纯文本形式发送文档内容(我们使用的是 Outlook),从而不必保存文档?或者是否可以添加一个功能,允许发送电子邮件,然后重置内容,然后重新保存?

这是我当前的代码:

Private Sub CommandButton21_Click()
  Dim OL As Object
  Dim EmailItem As Object
  Dim Doc As Document
  Application.ScreenUpdating = False
  Set OL = CreateObject("Outlook.Application")
  Set EmailItem = OL.CreateItem(olMailItem)
  Set Doc = ActiveDocument
  Doc.Save
  With EmailItem
    .Subject = "TIME OFF REQUEST"
    .Body = "THE ATTACHED DOCUMENT IS A DAY OFF REQUEST"
    .To = "Email"
    .Importance = olImportanceNormal
    .Attachments.Add Doc.FullName
    .Send
  End
  With Application.ScreenUpdating = True
  Set Doc = Nothing
  Set OL = Nothing
  Set EmailItem = Nothing
End Sub

【问题讨论】:

    标签: vba outlook ms-word


    【解决方案1】:

    Document 类的Content 属性返回一个表示主要文档故事的 Range 对象。 Text 属性返回范围的纯文本、无格式文本。因此,这是您要查找的代码:

    .Body = ActiveDocument.Content.Text
    

    请注意,Outlook 使用 Word 作为电子邮件编辑器。您可以使用 Word 对象模型来处理邮件正文。您可以在Chapter 17: Working with Item Bodies 中阅读更多相关信息。

    最后,您可能会发现 How to automate Outlook from another program 文章很有帮助。

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 2013-07-26
      • 1970-01-01
      • 2016-06-07
      • 2018-08-06
      • 2016-01-04
      • 2017-04-23
      • 1970-01-01
      相关资源
      最近更新 更多