Скопировать выбранный диапазон Excel в Outlook

64
4

Я хочу скопировать выбранный диапазон Excel "A1 до G5" из листа "PUCCH" в Outlook в VBS сценарии.

У меня ошибка

Несоответствие типов

в строке .HTMLBody= "PUCCH:<br>" & objWorksheet.Range("A1:G5")

Set outlook = CreateObject("Outlook.Application")
Set email = outlook.CreateItem(0)
Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX")
Set xlSht = xlBook.Sheets("PUCCH")

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook =objExcel.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX")

Set objWorksheet = objWorkbook.Worksheets("PUCCH")
objWorksheet.Activate

With email
'.to="Email;"
.to="Email;"
.Subject="Houly MTR Alerter"
.HTMLBody= "PUCCH:<br>" & objWorksheet.Range("A1:G5")
.Send
End With
Wscript. quit

Как я могу исправить .HTMLBody в .Range()?

спросил(а) 2021-01-19T21:23:22+03:00 8 месяцев назад
1
Решение
65

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

Dim sRangeValues as String  
Dim r as Range

Set outlook = CreateObject("Outlook.Application")
Set email = outlook.CreateItem(0)
Set xlApp = CreateObject("Excel.Application")

Set xlBook = xlApp.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX")
Set xlSht = xlBook.Sheets("PUCCH")

Set objExcel = CreateObject("Excel.Application")
Set objWorkbook =objExcel.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX")

Set objWorksheet = objWorkbook.Worksheets("PUCCH")
objWorksheet.Activate

set r = objWorksheet.Range("A1:G5")

For i = 1 To r.Rows.Count
For j = 1 To r.Rows(i).Columns.Count
sRangeValues = sRangeValues & r.Rows(i).Columns(j).Value & "|"
Next
sRangeValues = sRangeValues & Chr(10)
Next

With email
'.to="Email;"
.to="Email;"
.Subject="Houly MTR Alerter"
.HTMLBody= "PUCCH:<br>" & sRangeValues
.Send

End With
Wscript. quit

ответил(а) 2021-01-19T21:23:22+03:00 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема