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

时间:2015-10-16 07:50:31

标签: vba outlook-vba outlook-2013

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

将图片粘贴到电子邮件模板后,我希望只需点击一下按钮,图像就会变为9厘米(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

1 个答案:

答案 0 :(得分:1)

您需要使用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