ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] WORD里长图片切割VBA代码不能运行,请大神看哪有问题啊

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-11-26 13:03 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
WORD里长图片切割VBA代码不能运行,请大神看哪有问题啊
以下为附件示例,里面有相关代码。



Doc1.zip

442.53 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2023-11-26 13:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
文件中没有vba代码.....
docx是不能够储存vba代码的,要用docm
分享b站一闪流溢老师的代码,供参考
  1. Sub 长图按页边距比例切割()
  2. '计算分段数
  3. With ActiveDocument.PageSetup
  4.     页面高度 = .PageHeight
  5.     页面宽度 = .PageWidth
  6.     上边距 = .TopMargin
  7.     下边距 = .BottomMargin
  8.     左边距 = .LeftMargin
  9.     右边距 = .RightMargin
  10. End With
  11. With ActiveDocument.InlineShapes(1)
  12.     .LockAspectRatio = msoTrue
  13.     .Width = 页面高度 - 左边距 - 右边距
  14.     图片高度 = 页面高度 - 上边距 - 下边距
  15.     总高度 = .Height
  16.     分段数 = Int(总高度 / 图片高度) + 1
  17.     .ScaleHeight = 100
  18.     原始高度 = .Height
  19.     比例 = 原始高度 / 总高度
  20.     .Height = 总高度
  21.     .Range.Copy
  22. End With
  23. '粘贴
  24. For i = 1 To 分段数 - 1
  25.     Selection.Paste
  26. Next
  27. '循环裁剪
  28. For i = 1 To 分段数
  29.     With ActiveDocument.InlineShapes(i)
  30.     上裁剪 = 图片高度 * (i - 1) * 比例
  31.     下裁剪 = (总高度 - 图片高度 * i) * 比例
  32.         .PictureFormat.CropTop = 上裁剪
  33.         .PictureFormat.CropBottom = 下裁剪
  34.     End With
  35. Next
  36. End Sub
复制代码
  1. Sub 长图按图片比例切割()
  2. '计算分段数
  3. With ActiveDocument.PageSetup
  4.     页面高度 = .PageHeight
  5.     页面宽度 = .PageWidth
  6.     上边距 = .TopMargin
  7.     下边距 = .BottomMargin
  8.     左边距 = .LeftMargin
  9.     右边距 = .RightMargin
  10. End With
  11. With ActiveDocument.InlineShapes(1)
  12.     .LockAspectRatio = msoTrue
  13.     .Width = 页面高度 - 左边距 - 右边距
  14.     图片高度 = 页面高度 - 上边距 - 下边距
  15.     总高度 = .Height
  16.     分段数 = Int(总高度 / 图片高度) + 1
  17.     .ScaleHeight = 100
  18.     原始高度 = .Height
  19.     比例 = 原始高度 / 总高度
  20.     .Height = 总高度
  21.     .Range.Copy
  22. End With
  23. '粘贴
  24. For i = 1 To 分段数 - 1
  25.     Selection.Paste
  26. Next
  27. '循环裁剪
  28. For i = 1 To 分段数
  29.     With ActiveDocument.InlineShapes(i)
  30.         .PictureFormat.CropTop = 总高度 * (i - 1) / 分段数 * 比例
  31.         .PictureFormat.CropBottom = 总高度 * (分段数 - i) / 分段数 * 比例
  32.     End With
  33. Next
  34. End Sub
复制代码
  1. Sub 长图切割为指定数量图片()
  2. '确认要分隔的段数
  3. 段数 = InputBox("请输入要切割的段数")
  4. '复制图片
  5. With ActiveDocument.InlineShapes(1)
  6.     .LockAspectRatio = msoTrue
  7.     .ScaleHeight = 100
  8.     总高度 = .Height
  9.     .Range.Copy
  10. End With
  11. '根据段数粘贴
  12. For i = 1 To 段数 - 1
  13.     Selection.Paste
  14. Next
  15. '裁剪
  16. For i = 1 To 段数
  17.     With ActiveDocument.InlineShapes(i)
  18.     .PictureFormat.CropTop = 总高度 * (i - 1) / 段数
  19.     .PictureFormat.CropBottom = 总高度 * (段数 - i) / 段数
  20.     .ScaleHeight = 100
  21.     End With
  22. Next
  23. '选中任意图片,压缩图片,取消勾选仅应用于此图片,勾选删除图片的剪裁区域,勾选高保真或使用默认分辨率,保存
  24. '以zip打开,文件名\word\media,里面即为剪裁成指定数量的图片
  25. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 15:23 , Processed in 0.032681 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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