【问题标题】:Adjusting the size of Excel range pasted to Outlook mail using Word .PasteandFormat使用 Word .PasteandFormat 调整粘贴到 Outlook 邮件的 Excel 范围的大小
【发布时间】:2022-06-25 16:05:06
【问题描述】:

我创建了将单元格区域复制到电子邮件中的代码。

A) 这让我得到一张文字模糊且过于粗体的图像

.PasteandFormat wdChartPicture

B) 这让我获得了正确的文本清晰度,但我需要将电子邮件本身缩放到 x300 以清楚地显示数字和字母

 .PasteandFormat wdMatchDestinationFormatting

如何粘贴到清晰可见的尺寸?
或者,我怎样才能增加粘贴的图像,以便收件人不必放大 x300 来查看电子邮件?

Option Explicit

Sub Send_Email()

Dim OutApp As Object
Dim OutMail As Object
Dim table As Range
Dim pic As Picture
Dim wb  As Workbook, ws As Worksheet, wsSettings As Worksheet
Dim wordDoc
Dim strHTMLBody As String
Dim lonZoom As Long

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Set wb = ThisWorkbook
Set wsSettings = wb.Worksheets("Settings")

'grab table, convert to image, and cut'
Set ws = ThisWorkbook.Sheets("Summary")
Set table = ws.Range("B8:AA338")
ws.Activate
table.Copy
Set pic = ws.Pictures.Paste
pic.Cut

'create email message'
On Error Resume Next
With OutMail
    strHTMLBody = strHTMLBody & "</span>"
    
    .HTMLBody = strHTMLBody
    .To = wsSettings.Range("Email_To").Value
    .Subject = wsSettings.Range("Email_Subject").Value
    .Display
        
    Set wordDoc = OutMail.GetInspector.WordEditor
    With wordDoc.Range
        .PasteandFormat wdMatchDestinationFormatting
    End With
End With
On Error GoTo 0

Set OutApp = Nothing
Set OutMail = Nothing

End Sub

【问题讨论】:

  • 仅供参考,我尝试过其他 .PasteandFormat wd 组合,但似乎没有得到我想要的结果
  • 范围有一个CopyPicture 方法:table.CopyPicture xlScreen, xlPicture。您可以尝试访问电子邮件图像并调整大小。

标签: excel vba image outlook ms-word


【解决方案1】:

您处理的是一个 HTML 标记的消息正文。因此,您可以在 Excel 中将生成的图像保存为文件,然后将其附加到邮件项目中,并以您喜欢的方式在正文标记中使用。

Attachments.Add 方法允许附加文件。但是您需要使用嵌入的图像(不可见的附件)。您需要在附件上设置 CID 属性并在 HTML 标记中使用 CID 属性。

通过cid属性引用HTML正文中的图片

<img src="cid:xyz">

然后使用Attachments.Add添加附件。

之后,您可以使用Attachment.PropertyAccessor.SetProperty 设置PR_ATTACH_CONTENT_ID 属性(DASL 名称http://schemas.microsoft.com/mapi/proptag/0x3712001F)。这将是您的 cid 值。

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 1970-01-01
    • 2020-04-05
    相关资源
    最近更新 更多