Отправить диапазон в виде таблицы с изображениями в теле письма с Excel VBA - PullRequest
0 голосов
/ 04 октября 2019

Я отправляю встроенную таблицу из Excel через Outlook.

Теперь я хочу / нужно добавить изображения в таблицу.

Проблема в том, что форматирование потеряно между Excel и Outlook.

Существует ли способ вставить диапазон, содержащий изображения, в таблицу при сохранении форматирования?

Ближайший и самый чистый способ, которым я могу добраться до этого, это с помощью следующего фрагмента:

Private Sub SENDBETABTTN_Click()
'Copy range of interest
Dim r As Range
Set r = MainDRK.Range("j3:aj" & MainDRK.Range("ae87").Value)
r.Copy

'Open a new mail item
Dim outlookApp As Outlook.Application
Set outlookApp = CreateObject("Outlook.Application")
Dim outMail As Outlook.MailItem
Set outMail = outlookApp.CreateItem(olMailItem)

'Get its Word editor
outMail.Display
Dim wordDoc As Word.Document
Set wordDoc = outMail.GetInspector.WordEditor

'To paste as picture
wordDoc.Range.PasteAndFormat wdFormatOriginalFormatting
End Sub

Остается проблема - я теряю расположение изображений и, в свою очередь, завинчиваю размер ячейки таблицы.

Конечный результат выглядит следующим образом: Bad Table
enter image description here

Я стремлюсь к этому: Good Table
enter image description here

1 Ответ

0 голосов
/ 05 октября 2019

Вставьте его как Тип: = wdChartPicture MSDN

Также, при необходимости, настройте размеры и ширину inlineshapes

    With wdDoc
        .InlineShapes(1).Height = 130
     End With

https://stackoverflow.com/a/48897439/4539709

...