如何激活以编程方式插入Outlook电子邮件正文的Word文件?

时间:2016-08-10 15:18:52

标签: email outlook

我有一个.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内容设置电子邮件正文而无需显示电子邮件?

1 个答案:

答案 0 :(得分:0)

尝试调用MailItem类的Save方法。

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