将范围发送为带有Excel VBA的电子邮件正文中的图像的表

问题描述 投票:0回答:1

我通过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

剩下的问题是我丢失了图像的位置,反过来又弄乱了表格的单元格大小。

最终结果看起来像这样:错误的表enter image description here

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

excel vba outlook ms-word outlook-vba
1个回答
0
投票

粘贴为Type:=wdChartPicture MSDN

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.