从excel范围vba添加邮件正文

从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(

我有一个数据库,只有姓名和电子邮件地址,我需要创建带有特定固定文本的个人电子邮件,该文本位于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(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