首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Word VBA:根据样式调整所有内联形状的大小

Word VBA:根据样式调整所有内联形状的大小
EN

Stack Overflow用户
提问于 2014-05-15 05:22:59
回答 1查看 1.9K关注 0票数 1

我写了200多张截图的大型软件手册。我正在尝试自动化一些图像格式。

我用Techsmith SnagIt编辑图片,然后粘贴到Word中。我不想在Snagit中设置大小,因为我需要灵活地在Word中移动它们。

我发现以下代码根据现有宽度调整文档中所有图像的大小。

代码语言:javascript
复制
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厘米,有时,我需要他们保持整个页面的宽度。

我希望当我粘贴这些“全宽度”屏幕截图时,我可以给它们分配一个不同的样式,然后向上面添加一些代码,以忽略那些基于这种样式的图像。

有什么想法吗?

干杯,

勒奈特

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-15 15:24:08

当然,在粘贴图像时,要将字符样式保留在要保持其大小的图像上。然后假设您已经设置了一个名为“保存”的字符样式,您可以使用类似的代码。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23669862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档