如何在Outlook中使用VBA创建宏来调整图像大小

时间:2014-05-18 13:54:41

标签: vba outlook outlook-vba

正如我在previous question中所指出的那样,Outlook正在从截图工具中粘贴屏幕抓取,默认大小为125%x 125%,而我希望它是100%x 100% 。我不想实际更改默认设置,而是想制作一个宏来调整图像大小。

我在VBA PowerPoint中做过类似的事情,但每个应用程序似乎都有所不同。例如,我尝试了代码

Sub Resize_Outlook4()
    With ActiveDocument.InlineShapes(1)
        .ScaleHeight = 150
        .ScaleWidth = 150
    End With
End Sub

来自MSDN的示例,该示例应将所有内联形状的大小调整为150%x 150%,但这会导致错误"运行时错误'''需要对象"。

简而言之,我无法指定代表当前所选图片的对象,或者只是电子邮件中的所有图片。有人知道如何正确地做到这一点吗?

1 个答案:

答案 0 :(得分:2)

我认为这应该有用,但我仍然建议只更改默认设置......

Sub Resize150()

    Dim objDoc As Object
    Dim shp As Object
    'Get the word-editor of the mail item
    If Application.ActiveInspector Is Nothing Then Exit Sub
    Set objDoc = Application.ActiveInspector.WordEditor
    For Each shp In objDoc.InlineShapes
        If shp.HasPicture Then
            shp.ScaleHeight = 150
            shp.ScaleWidth = 150
        End If
    Next

End Sub