Word VBA:根据样式调整所有内联形状的大小
我写了200多个屏幕截图的大型软件手册。我正在尝试自动化一些图像格式化 我在Techsmith SnagIt中编辑图片,然后粘贴到Word中。我不想在Snagit中设置大小,因为我需要在Word中灵活地移动它们 我发现下面的代码根据现有宽度调整文档中所有图像的大小Word VBA:根据样式调整所有内联形状的大小,vba,image,ms-word,Vba,Image,Ms Word,我写了200多个屏幕截图的大型软件手册。我正在尝试自动化一些图像格式化 我在Techsmith SnagIt中编辑图片,然后粘贴到Word中。我不想在Snagit中设置大小,因为我需要在Word中灵活地移动它们 我发现下面的代码根据现有宽度调整文档中所有图像的大小 Sub PicSize_ALL_17cm() Dim š As InlineShape Dim Aspect As Double For Each š In ActiveDocument.InlineShapes Aspect
Sub PicSize_ALL_17cm()
Dim š As InlineShape
Dim Aspect As Double
For Each š In ActiveDocument.InlineShapes
Aspect = š.Width / š.Height
If (š.Width > CentimetersToPoints(11)) Then
š.Width = CentimetersToPoints(11)
š.Height = š.Width / Aspect
End If
Next š
End Sub
虽然大多数图像被定义为11厘米,但有时,我需要它们保持页面的全宽
我希望在粘贴这些“全幅”屏幕截图时可以为它们指定不同的样式,然后在上面添加一些代码以忽略基于该样式的图像
有什么想法吗
干杯
Lynette粘贴图像时,一定要在图像上放置一个字符样式,以保持其大小。然后假设您已经设置了一个名为Preserve的字符样式,您可以使用类似的代码
Sub PicSize_ALL_17cm()
Dim š As InlineShape
Dim Aspect As Double
For Each š In ActiveDocument.InlineShapes
if s.Range.Style <> "Preserve" then
Aspect = š.Width / š.Height
If (š.Width > CentimetersToPoints(11)) Then
š.Width = CentimetersToPoints(11)
š.Height = š.Width / Aspect
End If
End If
Next š
End Sub
Sub PicSize_ALL_17cm()
DimšAs InlineShape
双色暗象
对于ActiveDocument.InlineShapes中的每个š
如果s.Range.Style“保留”,则
纵横比=š宽/š高
如果(š宽度>厘米点(11)),则
š.宽度=厘米点(11)
š.高度=š.宽度/纵横比
如果结束
如果结束
下一个
端接头
谢谢,这正是我需要的。