Я пытаюсь создать автоматическое электронное письмо, которое будет забирать все соответствующие данные из специального пользовательского выбора. Мне нужно, чтобы он выбрал определенные ячейки в выделении (всегда одни и те же) и поместил их в разные части письма.
При выводе Selection.PasteSpecial в тело письма есть два странных поведения, или если я только добавлю «Выделение» к телу.
1) Это дает мне ошибку несоответствия типов при выборе более чем одной ячейки, даже если «Выделение» является диапазоном. Использование «Выделения» внутри тела само по себе приводит к этой ошибке (ниже).
2) Добавляет «True» к электронному письму, а не к самим данным. На самом деле, у меня было это раньше, но я не могу повторить это сейчас. Это была какая-то комбинация с PasteSpecial.
Вот мой код прямо сейчас:
Sub X()
Dim OlApp As Outlook.Application
Dim ObjMail As Outlook.MailItem
Dim strTo As String
Dim strSubject As String
Dim strHTMLBody As String
Dim Sel As Range
Dim SelCopy As Range
Set Sel = Selection
Set SelCopy = Selection.Copy
' Set SelPaste =
' Set SelCopy = Sel.Copy
Set OlApp = Outlook.Application
Set ObjMail = OlApp.CreateItem(olMailItem)
strHTMLBody = "Hello<br>" & "Me" & Selection
'Special([Paste As XlPasteType = xlPasteAll])
ObjMail.To = strTo
ObjMail.Subject = strSubject
ObjMail.Display
'You now have the default signature within ObjMail.HTMLBody.
'Add this after adding strHTMLBody
ObjMail.HTMLBody = strHTMLBody & ObjMail.HTMLBody
'ObjMail.Send 'send immediately or
'ObjMail.close olSave 'save as draft
'Set OlApp = Nothing
End Sub