#excel #vba
#excel #vba
Вопрос:
Я пытаюсь отправить электронное письмо с помощью VBA через GMAIL с помощью Internet Explorer. У меня есть данные в диапазоне («A1: AL4»), и я хочу поместить эти данные в текстовое сообщение gmail. если я попытаюсь использовать один диапазон, как на A1, мой код будет работать, но он не будет работать с несколькими ячейками.
'Insert Email content
IE.document.querySelector("div[class*= LW-avf]").innerText = Sheets("Sheet1").Range("A1:AL4").Value
Я хочу, чтобы в теле письма были все данные от A1 до AL4.
Ответ №1:
Вы могли бы попробовать что-то вроде этого:
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 amp; cell.Value
Next cell
Таким образом, в основном вы объединяете все строки в своем диапазоне и формируете одну большую строку, которую затем можно присвоить телу вашего письма.
Конечно, если вам нужны пробелы или разрывы строк между содержимым каждой ячейки, вы можете это сделать:
emailBody = emailBody amp; " " amp; cell.Value
или
emailBody = emailBody amp; vbNewLine amp; cell.Value