乐于分享
好东西不私藏

Word上百张图片调大小一致,你只会手动输入尺寸?那你不加班谁加班?———看我如何3秒搞定!

Word上百张图片调大小一致,你只会手动输入尺寸?那你不加班谁加班?———看我如何3秒搞定!

一、背景介绍

昨天处理一个word文档,里面包含大量的图片(上百张图片),为了排版美观,想把所有图片大小调整一致,手动调整大小是可以的,但太慢了,如何快速批量调整图片大小?

二、解决办法

我首先想到的是用VBA代码处理,但我不会编写word的 VBA,那怎办?当然找AI帮忙啊!

下面就是豆包给出的答案,VBA代码亲测有效,需要的小伙伴可以直接使用。

🔈🔈🔈🔈🔈🔈🔈🔈🔈🔈🔈🔈🔈🔈

一、手动操作方法(适合少量图片)

1. 打开Word文档,按下  Ctrl+A  全选所有内容(或按住  Ctrl  键逐个点击图片选中多图)。

2. 选中图片后,点击顶部菜单栏的【图片格式】(或【格式】)选项卡。

3. 在【大小】组中,先清空“形状高度”和“形状宽度”旁的锁定纵横比按钮(小锁图标),确保宽高比不锁定。

4. 分别在“宽度”输入框输入  24厘米 ,“高度”输入框输入  13厘米 ,按下回车即可。
注意:手动操作时若图片数量多,逐个/批量选中容易遗漏,推荐用VBA批量处理。

二、VBA代码批量修改(高效、精准)

1. 代码使用步骤

1. 打开需要处理的Word文档,按下  Alt+F11  打开VBA编辑器。

2. 右键点击左侧“工程资源管理器”中的文档名称 → 插入 → 模块。

3. 将下方代码复制粘贴到模块窗口中。

4. 按下  F5  运行代码,或点击编辑器顶部的“运行”按钮。

2. 完整VBA代码如下

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

Sub 统一设置图片尺寸()
    ‘ 声明变量
    Dim shp As InlineShape
    Dim doc As Document
    Set doc = ActiveDocument
   
    ‘ 关闭屏幕刷新,提升运行速度
    Application.ScreenUpdating = False
   
    On Error Resume Next ‘ 忽略个别图片的异常(如嵌入式/浮动式兼容)
   
    ‘ 处理嵌入式图片(Word中最常见的图片类型)
    For Each shp In doc.InlineShapes
        If shp.Type = wdInlineShapePicture Then ‘ 仅处理图片类型,排除其他嵌入式对象
            ‘ 取消锁定纵横比(关键:否则尺寸会按比例缩放,无法精准设置)
            shp.LockAspectRatio = msoFalse
            ‘ 设置宽度为24厘米(Word VBA中默认单位是磅,24cm≈905.51磅,代码已自动转换)
            shp.Width = CentimetersToPoints(24)
            ‘ 设置高度为13厘米(13cm≈472.44磅)
            shp.Height = CentimetersToPoints(13)
        End If
    Next shp
   
    ‘ 处理浮动式图片(可选,避免遗漏)
    Dim shapeObj As Shape
    For Each shapeObj In doc.Shapes
        If shapeObj.Type = msoPicture Then
            shapeObj.LockAspectRatio = msoFalse
            shapeObj.Width = CentimetersToPoints(24)
            shapeObj.Height = CentimetersToPoints(13)
        End If
    Next shapeObj
   
    ‘ 恢复屏幕刷新
    Application.ScreenUpdating = True
   
    ‘ 提示完成
    MsgBox “所有图片已统一设置为24cm×13cm!”, vbInformation, “操作完成”
   
    ‘ 释放变量
    Set shp = Nothing
    Set shapeObj = Nothing
    Set doc = Nothing
End Sub

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

3. 代码关键说明

–  CentimetersToPoints() :Word VBA中尺寸默认单位是“磅(Point)”,该函数将厘米转换为磅,确保尺寸精准。

–  LockAspectRatio = msoFalse :取消图片宽高比锁定,这是核心步骤,否则无法强制设置固定宽高(会按原比例缩放)。

– 代码同时处理“嵌入式图片”和“浮动式图片”,覆盖Word中所有图片类型,避免遗漏。

–  On Error Resume Next :防止个别特殊图片(如截图、剪贴画)导致代码中断,提升兼容性。

总结

1. 手动操作适合少量图片,核心是取消宽高比锁定后输入目标尺寸;

2. VBA代码可一键批量处理所有图片,覆盖嵌入式/浮动式两种类型,精准设置24cm×13cm;

3. 运行VBA前建议先保存文档,避免操作失误导致数据丢失。

如果运行代码后个别图片未生效,大概率是图片类型特殊(如组合对象),可先将图片“取消组合”后再运行代码。

👆👆👆👆👆👆👆👆👆👆👆👆👆👆

还在用笨办法核对文件?这几种自动比对法让你准时下班

批量合并Excel文件

告别手动!一键批量导入133张图片到Excel,自动对齐单元格,效率飙升!

你还在手动合并CAD文件?批量处理+自动套图框,效率提升90%

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » Word上百张图片调大小一致,你只会手动输入尺寸?那你不加班谁加班?———看我如何3秒搞定!

评论 抢沙发

3 + 8 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮