ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] word表格插入图片

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-4-11 15:33 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位老师,大家好!

我想在Word表格插入图片,能力有限,请各位帮忙。
1、插入表格(3行4列)。
2、在指定的单元格插入指定图片(如第1行第1列插入图片1,第1行第2列插入图片2)。
3、图片大小调整。
效果如图
插入图片代码遇到问题,请帮忙修改。

  1. Sub test()
  2.     ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
  3.         4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
  4.         wdAutoFitFixed
  5.     With Selection.Tables(1)
  6.         If .Style <> "网格型" Then
  7.             .Style = "网格型"
  8.         End If
  9.     End With
  10.     Set mytab = ActiveDocument.Tables(1)
  11.     For i = 1 To 4
  12.         For j = 1 To 4
  13.             mytab.Cell(i, j).Select
  14.             Selection.InlineShapes.AddPicture FileName:= _
  15.                 "C:\Users\lenovo9991\Desktop\1\ & "图片" & i & .png", LinkToFile:=False, _
  16.                 SaveWithDocument:=True
  17.         Next
  18.     Next
  19.     Dim shp As InlineShape
  20.    
  21.     ' 循环处理每个嵌入式图片
  22.     For Each shp In ActiveDocument.InlineShapes
  23.         ' 取消锁定纵横比
  24.         shp.LockAspectRatio = msoFalse
  25.         ' 设置图片尺寸为指定值,可以根据需要修改尺寸
  26.         shp.Width = CentimetersToPoints(3)
  27.         shp.Height = CentimetersToPoints(4.3)
  28.     Next shp
  29. End Sub
复制代码
感谢了。
无标题.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-12 13:08 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
有高手吗?问个问题都没人回答。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-12 13:29 | 显示全部楼层
插入图片的部分,修改了,能插入图片了,前面插入的也对。就是计算有问题,到第2行第1个,不知道是图片命名的不对,还是程序有问题,请高手帮忙。

原来我需要这样格式的,
无标题2.png
可是运行程序后,变成这样的了。
无标题3.png
新的程序如下
  1. Sub test()
  2.     ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=3, NumColumns:= _
  3.         4, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
  4.         wdAutoFitFixed
  5.     With Selection.Tables(1)
  6.         If .Style <> "网格型" Then
  7.             .Style = "网格型"
  8.         End If
  9.     End With
  10.     Set mytab = ActiveDocument.Tables(1)
  11.     For i = 1 To 3
  12.         For j = 1 To 4
  13.             mytab.Cell(i, j).Select
  14.             Selection.InlineShapes.AddPicture FileName:= _
  15.                 "C:\Users\lenovo9991\Desktop\1" & "图片" & i * j & ".png", LinkToFile:=False, _
  16.                 SaveWithDocument:=True
  17.         Next
  18.     Next
  19.     Dim shp As InlineShape
  20.    
  21.     ' 循环处理每个嵌入式图片
  22.     For Each shp In ActiveDocument.InlineShapes
  23.         ' 取消锁定纵横比
  24.         shp.LockAspectRatio = msoFalse
  25.         ' 设置图片尺寸为指定值,可以根据需要修改尺寸
  26.         shp.Width = CentimetersToPoints(3)
  27.         shp.Height = CentimetersToPoints(4.3)
  28.     Next shp
  29. End Sub
复制代码
怎么修改?请高手帮忙。

TA的精华主题

TA的得分主题

发表于 2024-4-12 13:41 | 显示全部楼层
我这里是论坛哪位大师写的一个宏,不知道是您要的不?

用宏插入图片及名称.zip

449.47 KB, 下载次数: 20

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-4-12 15:23 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
常扬帆 发表于 2024-4-12 13:41
我这里是论坛哪位大师写的一个宏,不知道是您要的不?

我的程序审核已经结束,在上面,我的方法是重新命名文件,插入的图片的程序也修改了,很满意。
也谢谢你提供好的建议,感谢。

TA的精华主题

TA的得分主题

发表于 2024-4-12 16:14 | 显示全部楼层
dongdonggege 发表于 2024-4-12 13:08
有高手吗?问个问题都没人回答。

不是没人回答
第一,你没有附件,别人写代码无法测试,总不能别人为了回答你这个问题,再亲自做一个附件吧
第二,最好别发自己的代码,很少人会去分析别人的代码,只要发附件并说明要求就行了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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