批量更改word中图片大小为固定尺寸

介绍了在Word中批量修改图片大小的方法。在开发工具中创建名为setpicsize的宏,进入编辑器输入代码,指定Height和Weight值,保存关闭后,在含大量需改尺寸图片的Word文件里,通过开发工具的宏运行setpicsize即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在【开发工具】中创建名为setpicsize的宏,进入编辑器后输入以下代码:

  Dim i
    Dim Height, Weight
    Height = 300
    Weight = 200
    
    On Error Resume Next '忽略错误
    For i = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
            ActiveDocument.InlineShapes(i).Height = Height '设置图片高度为 Height_px
            ActiveDocument.InlineShapes(i).Width = Weight '设置图片宽度 Weight_px
    Next i

    For i = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
            ActiveDocument.Shapes(i).Height = Height '设置图片高度为 Height_px
            ActiveDocument.Shapes(i).Width = Weight '设置图片宽度 Weight_px
    Next i
End Sub

其中 Height 和    Weight的值自行指定,保存并关闭后,在含有大量要修改尺寸的图片的word文件中,点击上方的【开发工具】----> 【宏】——>  【setpicsize】——>【运行】即可

参考word中批量修改图片大小的两个方法

### 使用VBA批量修改Word文档中的图片尺寸 为了实现批量调整Microsoft Word中图片的大小,可以编写一段简单的VBA脚本来完成此任务。这段代码能够遍历整个文档内的所有内嵌形状(`InlineShape`),并按照指定的比例或固定数值更改它们的高度和宽度。 对于希望保持宽高比例不变的情况,在设置新的尺寸之前应该锁定纵横比属性: ```vba Sub ResizeAllPictures() Dim shp As InlineShape For Each shp In ActiveDocument.InlineShapes With shp .LockAspectRatio = msoTrue ' 锁定纵横比[^1] .Width = CentimetersToPoints(10) ' 设置新宽度为10厘米转换后的磅值[^2] End With Next shp End Sub ``` 上述函数首先声明了一个名为 `shp` 的变量用于存储当前处理的对象实例;接着进入循环结构逐一遍历活动文档(`ActiveDocument`)里的每一个内联图形对象;最后应用了两个方法改变这些图像元素的具体外观特性——即先确保其长宽比率被固定下来再设定具体的像素宽度。 如果需要同时控制高度,则可以在 `.Height` 属性上也加上相应的赋值语句。值得注意的是这里使用的单位是“点”,而常见的度量单位如毫米、英寸等都需要通过内置函数进行转换才能正确应用于Word环境中。 当面对不同类型的形状时(比如浮动型而非仅限于行内),则需采用稍微不同的策略去访问那些非内嵌式的绘图组件: ```vba Sub AdjustFloatingImagesSize() Dim sngScaleFactor As Single Dim shpLoop As Shape sngScaleFactor = 0.5 ' 定义缩小至原大小的一半作为例子[^3] For Each shpLoop In ActiveDocument.Shapes If Not shpLoop.LockAspectRatio Then _ shpLoop.LockAspectRatio = msoCTrue With shpLoop .Width = .Width * sngScaleFactor .Height = .Height * sngScaleFactor End With Next shpLoop End Sub ``` 在这个版本里引入了额外的选择条件来区分目标是否属于我们想要操作的那一类项目,并允许用户自定义缩放因子来自由调节最终呈现效果的程度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值