Как скопировать или вставить данные нескольких диапазонов в InnerText с помощью Excel VBA - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь отправить электронную почту, используя VBA, через GMAIL, используя Internet Explorer. У меня есть данные в Range ("A1: AL4"), и я хочу поместить эти данные в составное тело gmail. если я пытаюсь с одним диапазоном, как на A1, мой код работает, но он не работает с несколькими ячейками.

'Insert Email content
IE.document.querySelector("div[class*= LW-avf]").innerText = Sheets("Sheet1").Range("A1:AL4").Value

Мне нужны все данные от A1 до AL4 в теле письма.

1 Ответ

0 голосов
/ 11 апреля 2019

Вы можете попробовать что-то вроде этого:

Dim cell As Range
Dim sht As Worksheet
Dim emailBody As String
emailBody = ""
Set sht = ThisWorkbook.Worksheets("Sheet1")
For Each cell In sht.Range("A1:AL4").cells
    emailBody = emailBody & cell.Value
Next cell

Таким образом, в основном вы объединяете все строки в вашем диапазоне и формируете одну большую строку, которую затем можете назначить телу своей электронной почты.

Конечно, если вам нужны пробелы или разрывы строк между содержимым каждой ячейки, вы можете сделать это:

emailBody = emailBody & " " & cell.Value

или

emailBody = emailBody & vbNewLine & cell.Value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...