2017-06-20 59 views
0

我有这段代码可用于在Excel中发送电子邮件。将.docx添加为VBA中的Outlook电子邮件

使用.body而不是.Inspector.WordEditor我可以正确输入电子邮件中的内容,但我希望电子邮件的文本是一个Word文档,其中包含一些图片和东西。

我该怎么办?我无法让.Inspector.WordEditor以我想要的方式工作。 (说实话,它不适合我在所有的工作)

Sub Test1() 

Dim networkstatus As Boolean 
If InternetGetConnectedState(0&, 0&) Then 
    networkstatus = True 
Else 
    networkstatus = False 
End If 
If Not networkstatus = True Then 
     Exit Sub 
End If 

Dim OutApp As Object 
Dim OutMail As Object 
Dim cell As Range 

Application.ScreenUpdating = False 
Set OutApp = CreateObject("Outlook.Application") 

On Error GoTo cleanup 
For Each cell In Columns("B").Cells.SpecialCells(xlCellTypeConstants) 
    If cell.Value Like "?*@?*.?*" And _ 
     LCase(Cells(cell.Row, "C").Value) = "yes" Then 

     Set OutMail = OutApp.CreateItem(0) 
     On Error Resume Next 
     With OutMail 
      .To = cell.Value 
      .Subject = "Test" 
      .Inspector.WordEditor ("C:\test.docx") 
      .Send 
     End With 
     On Error GoTo 0 
     Set OutMail = Nothing 
    End If 
Next cell 

清理:

Set OutApp = Nothing 
Application.ScreenUpdating = True 



End Sub 

编辑:据我所知,您可以使用HTMLBody,但我不上我的同事们利用计那。

回答

0

把它作为附件代替

.Attachments.Add("C:\test.docx")

+0

但我想它进入电子邮件的正文。这是一份时事通讯。 – bub

+0

您将需要将其另存为HTML,然后Word可以执行此操作。然后将HTML读入电子邮件正文。但是,请记住,大多数现代电子邮件供应商默认情况下会禁用图片。 – braX

相关问题