Мне нужно скопировать содержимое с двух листов в тело почты Outlook.Вставить содержимое из нескольких листов Excel в тело Outlook
- Лист 1 содержит только текст с некоторыми объединенными ячейками.
- Лист2 содержит графики.
Мой подход не удалось:
Копирование содержимого из sheet1 и sheet2 в виде временного листа и затем скопировать все содержимое из листа темп на почту тела.
Этот подход беспорядок полностью выравнивается после , содержимое вставляется в тело почты Outlook, даже если оно хорошо выглядит на листе temp.
Ниже приведен фрагмент кода, который я использую.
Sub copy_graph()
Dim outlookapp, outmail, worddoc As Object
Set outlookapp = CreateObject("outlook.application")
Set outmail = outlookapp.createitem(olmailitem)
outmail.display
Set worddoc = outmail.getinspector.wordeditor
ThisWorkbook.Sheets.Add.Name = "temp_mail"
ThisWorkbook.Worksheets("Tu_Mail").Range("a4:b18").Copy
ThisWorkbook.Worksheets("temp_mail").Range("a1").Select
ActiveSheet.Paste
ThisWorkbook.Worksheets("trend").Range("a1:x93").Copy
ThisWorkbook.Worksheets("temp_mail").Range("a19").Select
ActiveSheet.Paste
ThisWorkbook.Worksheets("temp_mail").Range("a1:x93").Copy
worddoc.Range.PasteExcelTable linkedtoexcel:=False, wordformatting:=False, RTF:=False
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("temp_mail").Delete
End Sub
Есть ли способ, чтобы вставить содержимое из двух листов по одному в теле письма вместо того, чтобы объединить их в один лист. вставьте как две разные таблицы, чтобы выравнивание столбцов было не повреждено.
Или
Есть ли другие лучше подходят для этого?
проверить эту очень удобная функция [RangeToHTML] (http://www.rondebruin.nl/win/s1/outlook/bmail2.htm). Я использую его, когда хочу вставлять диапазоны Excel в тела электронной почты. –
Спасибо, Скотт. Я попробовал это, «RangeToHTML» - это обычное funtion, которое я вижу в большинстве ответов в Интернете. Но в моем случае это терпит неудачу, оно не копирует диаграммы. – Vivek
Вы можете скопировать график в виде рисунка, а затем вставить его в тело письма? –