从附件vba excel嵌入时,Outlook会调整图像大小

时间:2017-02-13 19:11:20

标签: excel vba outlook

我有一些代码可以附加和隐藏图像到Outlook邮件,因此可以嵌入它们,并在最后插入用户签名。

遇到两个问题:

  • 如果图片太大而导致其视图很糟糕,则会调整图片大小。

如果我通过将宽度和高度设置为100%比例来手动校正宽高比,则图像显示正常,但会被签名剪切。通过将图像包裹在文本前面来纠正这一点会使图像留在图像后面,因此不会显示。

有没有办法纠正这个问题?

这是我的代码(我从其他帖子中获取):

Sub Mail()

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim myFileList(1) As String
Dim i As Integer
Dim wb As Workbook

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

Call CrearImagen

myFileList(0) = wb.Path & "\ImagenesMail\Imagen0.jpg"
myFileList(1) = wb.Path & "\ImagenesMail\Imagen1.jpg"

strbody = "Hola"

On Error Resume Next


With OutMail
    .display
    .To = ""
    .CC = ""
    .BCC = ""
    .Subject = "Como quedaría el mail"
    For i = 0 To UBound(myFileList)
        .Attachments.Add myFileList(i)
    Next i

    'width=width height=heigth
    'width=width height=heigth
    .HTMLBody = "<br>" & strbody & "<br><br>" _
        & "<img src='cid:Imagen0.jpg'><br><br>" _
        & "<img src='cid:Imagen1.jpg'><br><br>" _
        & "<br>Prueba<br>prueba</font></span>" & .HTMLBody
    .display
End With

On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing

End Sub

这是默认情况下的显示方式:

Default paste

这是它在高度和宽度上调整100%缩放比例的方式:

After Resize

正如你所看到的,它显示为我想要的,但不是整个图像。如果我将图像包裹在文本前面,那么我就会收到所需的邮件,但是签名会隐藏在图像后面。

我认为图像调整大小来自我评论的代码,它使用的是数字,而不是%scale。

PS:抱歉我的英语不好,而不是说英语的人。

0 个答案:

没有答案