统一word图片-宏定义

在Word中新建宏的方法如下:

  1. 打开需要编辑的Word文档,点击“文件”选项卡,然后选择“选项”。
  2. 在弹出的“Word选项”窗口中,选择“自定义功能区”选项卡,然后在右侧的“主选项卡”列表中选择“开发工具”复选框。如果“开发工具”不在列表中,请选择“自定义功能区”选项卡下的“主选项卡”列表,然后点击“重置”按钮。
  3. 点击“确定”按钮,关闭“Word选项”窗口。
  4. 点击“开发工具”选项卡,然后在“代码”组中选择“宏”按钮。
  5. 在弹出的“宏”窗口中,输入宏的名称,然后点击“创建”按钮。
  6. 在“Microsoft Visual Basic for Applications”窗口中编写宏代码。

完成后,就可以在“开发工具”选项卡下的“宏”按钮中找到您新建的宏了。

源码

Sub 批量处理图片大小()

'定义变量
Dim picwidth
Dim picheight

'忽略错误
On Error Resume Next

'按照固定大小缩放
picheight = 5 '单位厘米,可修改
picwidth = 8 '单位厘米,可修改

''类型1:嵌入式图形 InlineShapes类型图片
For Each Shape In ActiveDocument.InlineShapes
    'msoFalse是不锁定纵横比
    Shape.LockAspectRatio = msoFalse
    '按照固定大小缩放
    Shape.Height = picheight * 28.35 '设置图片高度为 5cm (1cm等于28.35px)
    Shape.Width = picwidth * 28.35 '设置图片宽度8cm
Next

''类型2:非嵌入式图形,Shapes类型图片
For Each Shape In ActiveDocument.Shapes
    'msoFalse是不锁定纵横比
    Shape.LockAspectRatio = msoFalse
    '按照固定大小缩放
    Shape.Height = picheight * 28.35 '设置图片高度为 5cm (1cm等于28.35px)
    Shape.Width = picwidth * 28.35 '设置图片宽度8cm
Next

End Sub

源码注释说明

  1. Sub 批量处理图片大小() - 这一行是代码的开始,定义了一个子过程,其名称为“批量处理图片大小”。
  2. '定义变量 - 这一行定义了两个变量:picwidth 和 picheight,用于指定要将图片缩放到的大小。
  3. Dim picwidth - 定义变量 picwidth。
  4. Dim picheight - 定义变量 picheight。
  5. '忽略错误 - 这一行使用 On Error Resume Next 语句,表示在执行代码过程中如果遇到错误则继续执行而不中断程序。
  6. On Error Resume Next - 忽略错误。
  7. '按照固定大小缩放 - 这一行表示将按照指定的大小对图片进行缩放。
  8. picheight = 5 - 将变量 picheight 的值设置为 5,即将图片高度缩放到 5 厘米。
  9. picwidth = 8 - 将变量 picwidth 的值设置为 8,即将图片宽度缩放到 8 厘米。
  10. ''类型1:嵌入式图形 InlineShapes类型图片 - 这一行表示下面的代码将处理嵌入式图形。
  11. For Each Shape In ActiveDocument.InlineShapes - 对于文档中的每一个嵌入式图形,执行以下操作。
  12. Shape.LockAspectRatio = msoFalse - 不锁定图片的纵横比。
  13. Shape.Height = picheight * 28.35 - 将图片的高度设置为指定的大小,单位
  14. Shape.Width = picwidth * 28.35 - 将图片的宽度设置为指定的大小,单位为像素。
  15. Next - 结束对于 InlineShapes 类型图片的遍历。
  16. ''类型2:非嵌入式图形,Shapes类型图片 - 这一行表示下面的代码将处理 Shapes 类型的图片。
  17. For Each Shape In ActiveDocument.Shapes - 对于文档中的每一个 Shapes 类型的图片,执行以下操作。
  18. Shape.LockAspectRatio = msoFalse - 不锁定图片的纵横比。
  19. Shape.Height = picheight * 28.35 - 将图片的高度设置为指定的大小,单位为像素。
  20. Shape.Width = picwidth * 28.35 - 将图片的宽度设置为指定的大小,单位为像素。
  21. Next - 结束对于 Shapes 类型图片的遍历。
  22. End Sub - 结束该子过程。

参考

https://www.zhihu.com/tardis/bd/ans/2580998017?source_id=1001

更多推荐