我有一个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
答案 0 :(得分: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文章很有帮助。