使用 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
我需要使用截图工具截取一些屏幕截图,然后将其复制并粘贴到我的 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