我正在尝试在Excel中编写一个VBA代码,该代码将创建包含以下内容的Outlook消息:
下面是我写的代码。它一直有效,直到我将Excel Table
对象添加到消息正文中。它出现了一条错误消息:
运行时错误:错误类型13,类型不匹配“。
有人可以帮助我下面的代码吗?
Sub send()
Dim OApp As Object, OMail As Object, signature As String
Dim TOEMAIL As Range
Dim CCMEMAIL As Range
Dim SUBJECT As Range
Dim Workbook As Range
Dim Table As Range
Set TOEMAIL = Sheets("Macro").Range("D6")
Set CCEMAIL = Sheets("Macro").Range("D7")
Set SUBJECT = Sheets("Macro").Range("D8")
Set Workbook = Sheets("Macro").Range("D5")
Set Table = Sheets("Sheet1").Range("B7:B17")
Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)
With OMail
.Display
End With
signature = OMail.body
With OMail
.To = TOEMAIL
.CC = CCEMAIL
.SUBJECT = SUBJECT
.Attachments.Add (Workbook)
.body = "Hello, this is a test." & vbNewLine & Table & vbNewLine & signature & vbNewLine
End With
Set OMail = Nothing
Set OApp = Nothing
End Sub
答案 0 :(得分:0)
MailItem.Body
属性需要一个字符串。您正在尝试连接几个字符串和一个Range对象。您有责任从该表中提取相关数据并将其表示为字符串。
您可能最好创建一个HTML表并改为设置MailItem.HTMLBody
属性。