Выбор в .htmlbody не примет более одной ячейки для копирования - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь создать автоматическое электронное письмо, которое будет забирать все соответствующие данные из специального пользовательского выбора. Мне нужно, чтобы он выбрал определенные ячейки в выделении (всегда одни и те же) и поместил их в разные части письма.

При выводе 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...