使用 VBA 代码修改 Outlook 2013 中的图像宽度

Modifying Width of Images in Outlook 2013 using VBA codes

我需要使用截图工具截取一些屏幕截图,然后将其复制并粘贴到我的 Outlook 电子邮件模板中。

将图片粘贴到电子邮件模板后,我希望通过单击按钮将图片更改为 9cm (255 ps) 的宽度。按钮后面的代码将 运行 在当前项目上打开。

也就是说,代码必须 运行 通过当前打开的项目并识别图像对象,并且 运行 代码更改图像的宽度(纵横比)开启)。

我已经完成了一些编码,如下所示,但我做不到 运行。谁能帮我解决这个问题?

p.s。我搜索了一下,发现 ShapeRange 仅适用于 Word、Powerpoint、Excel、Project 等

Option Explicit

Sub ChangeWidth()

Dim objApp As Outlook.Application
Dim objItem As Outlook.MailItem
Dim OrigShape As ShapeRange
Dim image As Object

Set objApp = Application
Set objItem = objApp.ActiveInspector.CurrentItem

objItem.ShapeRange.LockAspectRatio = msoTrue
objItem.ShapeRange.Width = 255.1181103

End Sub

您需要使用 InlineShapes :

Option Explicit

Sub ChangeWidth()

Dim objApp As Outlook.Application
Dim objItem As Outlook.MailItem
Dim iShape As InlineShape
Dim image As Object

Set objApp = Application
Set objItem = objApp.ActiveInspector.CurrentItem

For Each shp In objItem.InlineShapes
    If shp.HasPicture Then
        shp.LockAspectRatio = msoTrue
        'shp.ScaleHeight = 150
        'shp.ScaleWidth = 150
        'or
        shp.Width = 255.1181103
    End If
Next

End Sub