ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2667|回复: 5

[分享] 批量设置图片大小方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-5-28 15:56 | 显示全部楼层 |阅读模式
方法一:
这部分是要把word中的所有图片修改成固定的并且相同的长和宽!
1、打开word,工具-宏-宏(或者直接按Alt+F8)进入宏的界面,如下面所示,输入一个宏名,宏名自己起,能记住就行!
2、宏名起好了,单击“创建”进入VisualBasic编辑器,输入如下代码并保存Subsetpicsize()'设置图片大小Dimn'图片个数
OnErrorResumeNext'忽略错误
Forn=1ToActiveDocument.InlineShapes.Count'InlineShapes类型图片ActiveDocument.InlineShapes(n).Height=400'设置图片高度为400pxActiveDocument.InlineShapes(n).Width=300'设置图片宽度300pxNextn
Forn=1ToActiveDocument.Shapes.Count'Shapes类型图片ActiveDocument.Shapes(n).Height=400'设置图片高度为400pxActiveDocument.Shapes(n).Width=300'设置图片宽度300pxNextnEndSub
3、返回word,工具-宏-宏(或者直接按Alt+F8),再次进入宏的界面,选择刚才编辑好的宏,并单击“运行”按钮,就可以了!(图片多时,可能会花一些时间)
方法二:
1、在word中按alt+f11组合键,进入VBA模式
2、在左边的工程资源管理器中找到你的word文档,在其上右键/添加/模块3、把下面代码复制,粘贴进去.
4、更改数值,改一下宽度和高度数值(10),点运行(类似播放按钮.)或f5,即可设置文档中全部图片SubMacro()
Mywidth=10„10为图片宽度(厘米)Myheigth=10„10为图片高度(厘米)
ForEachiShapeInActiveDocument.InlineShapesiShape.Height=28.345*MyheigthiShape.Width=28.345*MywidthNextiShapeEndSub
word批量修改图片大小——按比例缩放篇
这部分要说的是把word中的所有图片按比例缩放!具体操作同上,只是代码部分稍做修改,代码如下:Subsetpicsize()'设置图片大小Dimn'图片个数Dimpicwidth
Dimpicheight
OnErrorResumeNext'忽略错误
Forn=1ToActiveDocument.InlineShapes.Count'InlineShapes类型图片picheight=ActiveDocument.InlineShapes(n).Heightpicwidth=ActiveDocument.InlineShapes(n).Width
ActiveDocument.InlineShapes(n).Height=picheight*1.1'设置高度为1.1倍ActiveDocument.InlineShapes(n).Width=picwidth*1.1'设置宽度为1.1倍Nextn
Forn=1ToActiveDocument.Shapes.Count'Shapes类型图片picheight=ActiveDocument.Shapes(n).Heightpicwidth=ActiveDocument.Shapes(n).Width
ActiveDocument.Shapes(n).Height=picheight*1.1'设置高度为1.1倍ActiveDocument.Shapes(n).Width=picwidth*1.1'设置宽度为1.1倍NextnEndSub



该贴已经同步到 珏山居士的微博

TA的精华主题

TA的得分主题

发表于 2014-5-28 16:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
排版改下啊,连成一块了

TA的精华主题

TA的得分主题

发表于 2014-6-2 08:17 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-6-24 13:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
留个记号回家看,正好用得到

TA的精华主题

TA的得分主题

发表于 2014-6-30 16:39 | 显示全部楼层
楼主代码:
  1. Sub setpicsize1() '设置图片大小
  2. Dim n '图片个数
  3. On Error Resume Next '忽略错误
  4. For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
  5. ActiveDocument.InlineShapes(n).Height = 400 '设置图片高度为400px
  6. ActiveDocument.InlineShapes(n).Width = 300 '设置图片宽度300px
  7. Next n
  8. For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
  9. ActiveDocument.Shapes(n).Height = 400 '设置图片高度为400px
  10. ActiveDocument.Shapes(n).Width = 300 '设置图片宽度300px
  11. Next n
  12. End Sub
复制代码
  1. Sub Macro()
  2. Mywidth = 10 '10为图片宽度(厘米)
  3. Myheigth = 10 '10为图片高度(厘米)
  4. For Each iShape In ActiveDocument.InlineShapes
  5. iShape.Height = 28.345 * Myheigth
  6. iShape.Width = 28.345 * Mywidth
  7. Next iShape
  8. End Sub
复制代码
  1. Sub setpicsize2() '设置图片大小
  2. Dim n '图片个数
  3. Dim picwidth
  4. Dim picheight
  5. On Error Resume Next '忽略错误
  6. For n = 1 To ActiveDocument.InlineShapes.Count 'InlineShapes类型图片
  7. picheight = ActiveDocument.InlineShapes(n).Height
  8. picwidth = ActiveDocument.InlineShapes(n).Width
  9. ActiveDocument.InlineShapes(n).Height = picheight * 1.1 '设置高度为1.1倍
  10. ActiveDocument.InlineShapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍
  11. Next n
  12. For n = 1 To ActiveDocument.Shapes.Count 'Shapes类型图片
  13. picheight = ActiveDocument.Shapes(n).Height
  14. picwidth = ActiveDocument.Shapes(n).Width
  15. ActiveDocument.Shapes(n).Height = picheight * 1.1 '设置高度为1.1倍
  16. ActiveDocument.Shapes(n).Width = picwidth * 1.1 '设置宽度为1.1倍
  17. Next n
  18. End Sub
复制代码
楼主的排版太万难,代码的效果也不敢恭维,照片严重变形,应该按照压缩比百分比,有时间修改下。

TA的精华主题

TA的得分主题

发表于 2015-8-3 16:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
VBA好复杂!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-25 01:50 , Processed in 0.040031 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表