使用Excel VBA在电子邮件正文中以表格形式发送带有图像的表格

时间:2019-10-04 14:39:23

标签: excel vba outlook ms-word outlook-vba

我通过Outlook从Excel发送内联表。

我现在想/需要将图像添加到表中。

问题是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

我的目标是:好餐桌
enter image description here

1 个答案:

答案 0 :(得分:0)

将其粘贴为Type:=wdChartPicture MSDN

如果需要,还可以设置线形高和宽

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

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