【问题标题】:How to activate a Word file inserted programmatically into an Outlook email body?如何激活以编程方式插入 Outlook 电子邮件正文的 Word 文件?
【发布时间】:2016-08-10 23:38:08
【问题描述】:

我有一个 .Net 桌面程序,它使用 Interop 通过 Outlook 发送电子邮件。当发送给多个收件人时,它使用每个收件人的电子邮件,因为称呼代替了个性化。电子邮件的正文从 Word 文件中插入如下(为清楚起见而缩短):

     objOutlook = New Outlook.Application
     objItem = objOutlook.CreateItem(Outlook.OlItemType.olMailItem)

      Dim inspector As Outlook.Inspector = objItem.GetInspector
      Dim wordDoc As Word.Document = inspector.WordEditor
      wordDoc.Activate()   'Not sure what this does but seems to be needed !

      'Insert file contents into body of email.
      Dim currentRange As Word.Range = wordDoc.Application.Selection.Range
      currentRange.InsertFile(fileName,,,, False)

如果此时我现在执行 ObjItem.Display,然后执行 ObjItem.Send,那么它可以完美运行。将Word文件内容放入邮件正文并发送邮件。

但如果我只是简单地执行 ObjItem.Send(不带 .Display),那么电子邮件会以空白正文发送。

如何强制使用 Word 内容设置电子邮件正文而不显示电子邮件?

【问题讨论】:

  • 我已经解决了这个问题。在执行发送命令之前,我使用 BodyFormat 方法将格式设置为 HTML。这会导致内容在不使用 Display 方法的情况下放入电子邮件正文。

标签: email outlook


【解决方案1】:

尝试调用MailItem类的Save方法。

您也可以尝试将文档保存为 HTML 格式的文件,然后设置 MailItem 类的 HTMLBody 属性。

【讨论】:

    猜你喜欢
    • 2013-05-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多