文章目录
- 0、前言
- 1、编写宏代码
- 2、在文档中调用宏实现一键批量调整
- 3、就这么简单!
0、前言
不知道大家是不是也和我一样,经常需要在编写的Word(或者WPS)文档里插入大量的图片,但是这些图片的尺寸大小一般都不一样,有时甚至超出了页面范围,一张一张的调整图片大小来适合页面宽度或者满足版面美观的需要,那真是一件非常费力的事。有没有快捷的方法来取代这种费力不讨好的人工调整方式呢?经过我的一番学习,还终于找到了一个非常简单得方法,那就是编写VBA宏的方式,且代码仅仅几行!这下可以彻底解放我的眼睛和鼠标手了,无限的提高了写作效率。下面就来分享部署过程吧。
1、编写宏代码
当然得前提是你使用的Word或者WPS要有VBA模块才行,如果没有的话,也可以搜索安装VBA模块后使其具备VBA编程功能的。
任意打开一篇文档(或新建一篇文档),在【开发工具】菜单中找到【VB编辑器】,打开它。
然后在工程-Normal-项目下插入模块编写宏代码——相当于在常规模版中添加宏,这样就可以在所有的文档中均可以调出该宏,而不是只在当前文档中才能调用。
然后参照如下示例编写2个宏(示例中是否需要锁定纵横比、图片宽度和高度可根据需要调整)并保存:
Sub 批量调整图片高宽()
Dim iSha As InlineShape
For Each iSha In ActiveDocument.InlineShapes
If iSha.Type = wdInlineShapePicture Then
iSha.LockAspectRatio = msoFalse '不锁定纵横比
iSha.Width = CentimetersToPoints(15) '宽15CM,根据你的需要调整
iSha.Height = CentimetersToPoints(10) '高10CM
End If
Next
End Sub
Sub 批量设置图片等宽()
Dim iSha As InlineShape
For Each iSha In ActiveDocument.InlineShapes
If iSha.Type = wdInlineShapePicture Then
iSha.LockAspectRatio = msoTrue '锁定纵横比
iSha.Width = CentimetersToPoints(15) '宽15CM,一般情况下与页宽相协调,可根据你的需要调整修改
End If
Next
End Sub
2、在文档中调用宏实现一键批量调整
经过上述设置后,我们打开任意一篇包含图片的文章,点击【开发工具】菜单下的【VB宏】,会弹出下图类似的宏菜单,我们选择一个宏(比如【批量设置图片等宽】),然后再点击【运行】按钮。
文中的所有图片马上就按照宏中的15cm宽度进行自动调整了: