从excel范围vba添加邮件正文
我有一个数据库,只有姓名和电子邮件地址,我需要创建带有特定固定文本的个人电子邮件,该文本位于excel的特定范围内,并将其保存在硬盘驱动器的特定文件夹中 然而,我对正文有问题 这是代码:从excel范围vba添加邮件正文,excel,vba,email,outlook,range,Excel,Vba,Email,Outlook,Range,我有一个数据库,只有姓名和电子邮件地址,我需要创建带有特定固定文本的个人电子邮件,该文本位于excel的特定范围内,并将其保存在硬盘驱动器的特定文件夹中 然而,我对正文有问题 这是代码: Sub test() Dim Sendrng As Range Dim outlookApp As Outlook.Application Dim outlookMail As Outlook.MailItem Dim i As Integer For i = 2 To ActiveSheet.Cells(
Sub test()
Dim Sendrng As Range
Dim outlookApp As Outlook.Application
Dim outlookMail As Outlook.MailItem
Dim i As Integer
For i = 2 To ActiveSheet.Cells(5, 2).Value + 1
Set Sendrng = ActiveSheet.Range("B12:K29")
Set outlookApp = New Outlook.Application
Set outlookMail = outlookApp.CreateItem(olMailItem)
With outlookMail
.To = ActiveSheet.Cells(7, 2).Value
.Subject = ActiveSheet.Cells(8, 2).Value
'.HTMLBody = Sendrng
.Save
End With
i = i + 1
ActiveSheet.Cells(4, 2) = i
Set outlookMail = Nothing
Set outlookApp = Nothing
Next i
'I want to start every time in position 2
ActiveSheet.Cells(4, 2) = 2
End Sub
你能给我解释一下你失踪的地方吗?我得到以下错误:运行时错误13:类型不匹配
谢谢,
Henrique您需要使用
范围
类的文本
属性,而不是值
:
Sub test()
Dim Sendrng As Range
Dim outlookApp As Outlook.Application
Dim outlookMail As Outlook.MailItem
Dim i As Integer
For i = 2 To ActiveSheet.Cells(5, 2).Value + 1
Set Sendrng = ActiveSheet.Range("B12:K29")
Set outlookApp = New Outlook.Application
Set outlookMail = outlookApp.CreateItem(olMailItem)
With outlookMail
.To = ActiveSheet.Cells(7, 2).Text
.Subject = ActiveSheet.Cells(8, 2).Text
.Save
End With
i = i + 1
ActiveSheet.Cells(4, 2) = i
Set outlookMail = Nothing
Set outlookApp = Nothing
Next i
'I want to start every time in position 2
ActiveSheet.Cells(4, 2) = 2
End Sub