使用宏批量插入图片到Word表格

创建宏,word 视图-》宏》查看宏》输入名称》创建

宏代码如下:

Sub imgTbl()If ActiveDocument.Tables.Count = 1 Then '删除上次数据ActiveDocument.Tables(1).DeleteEnd If'//获取文件夹,存入数组Dim kr()Set fso = CreateObject("scripting.filesystemobject")With Application.FileDialog(msoFileDialogFolderPicker)If .Show Then PathSht = .SelectedItems(1) Else Exit SubEnd WithDim imgPaths()  '图片路径数组picName = Dir(PathSht & "\*.bmp")Do While picName <> "" 'Do While循环i = i + 1imgPath = PathSht + "\" + picNamepicName = Dir    ' 查找下一个图片ReDim Preserve imgPaths(1 To i)imgPaths(i) = imgPathLoopimgNum = UBound(imgPaths) + 1Dim value '弹出输入框,输入列数,默认10,会自动计算行数value = InputBox("请输入表格列数", "表格列数", "10")Debug.Print valuetbl_columnNum = valuetbl_rowNum = Int(imgNum / tbl_columnNum) + 1'//开始新建表格Dim tbl As TableSet tbl = ActiveDocument.Tables.Add(Range:=Selection.Range, NumRows:=tbl_rowNum, NumColumns:=tbl_columnNum)'新建表格tbl.Style = "网格型"Set tbl = ActiveDocument.Tables(1)'tbl.Columns(1).Width = 1.27 * 28.35 '设置表格各列的列宽'tbl.Columns(2).Width = 2.13 * 28.35'tbl.Columns(3).Width = 3.3 * 28.35'tbl.Rows(1).Height = 2.13 * 28.35 '设置表格各列的列宽tbl.Rows.Alignment = wdAlignRowCenter '居中对齐tbl.Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter '文字垂直居中'tbl.Range.HorizontalInVertical = xlHAlignCenter '文字水平居中'tbl.Range.Rows.Alignment = wdAlignRowCentertbl.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter '文字水平居中tbl.Range.Font.Size = 6'//开始插入图片For i = 1 To tbl_rowNum'对Word中的表格中的行进行循环。For j = 1 To tbl_columnNum'对Word中的表格中的列进行循环。fod_index = fod_index + 1If fod_index >= imgNum Then ' 超过图片数量,退出循环Exit ForEnd IfimgPath = imgPaths(fod_index) '图片路径srr = Split(imgPath, "\")FullName = srr(UBound(srr))nrr = Split(FullName, ".")'tbl.Cell(i, j).Range.Text = nrr(0) '单元格文字图片名称不带后缀'tbl.Cell(i, j).Range.Text = "OK"tbl.Cell(i, j).Range.Select  '选择当前单元格Dim shp As InlineShapeSet shp = Selection.Range.InlineShapes.AddPicture(FileName:=imgPath) '插入图片tbl.Cell(i, j).Range.Select  '选择当前单元格 '选中该单元格,为了下一步光标定位到单元格内部Selection.EndKey wdLineSelection.TypeText Chr(10) & nrr(0)   '单元格文字图片名称不带后缀NextNextMsgBox "完成!"
End SubFunction getfol()
'该函数的作用:弹出对话框提示用户选择文件夹,并且返回该文件夹路径。
'如果用户选择了取消,则返回空值Dim PathSht As StringWith Application.FileDialog(msoFileDialogFolderPicker)If .Show ThenPathSht = .SelectedItems(1)ElsePathSht = ""Exit FunctionEnd Withgetfol = PathSht & IIf(Right(PathSht, 1) = "\", "", "\")
End Function

新建窗体:

点击按钮执行宏,代码:

Private Sub CommandButton1_Click()Application.Run MacroName:="imgTbl"
End Sub

Word打开显示窗体,代码:

Private Sub Document_Open()UserForm1.Show  '显示用户窗体
End Sub

执行效果:

使用宏批量插入图片到Word表格相关推荐

  1. word中使用宏批量插入图片

    Sub loadpic() ' ' loadpic Macro ' 宏在 2010-6-21 由 Smile Xu 创建 ' Dim picOpenDialog As FileDialog, file ...

  2. word文档批量插入图片及其文件名

    word文档批量插入图片及其文件名-宏脚本处理 Sub PicWithCaption()Dim xFileDialog As FileDialogDim xPath, xFile As Variant ...

  3. python-docx对Word文档的指定位置(批量)插入图片

    python-docx对Word文档的指定位置(批量)插入图片 任务 实现自动化办公,对请假条.docx文件实现自动插入请假人签名图片. 技术方案 1.python-docx python-docx是 ...

  4. excel表格怎么调整行高和列宽_如何在Excel中竖向批量插入图片,这个简单方法你知道吗...

    酌酒与君君自宽,人情翻覆似波澜.白首相知犹按剑,朱门先达笑弹冠.草色全经细雨湿,花枝欲动春风寒.世事浮云何足问,不如高卧且加餐. --[唐]王维<酌酒与裴迪> 不知道大家有没有遇到过这种情 ...

  5. excel表格怎么调整行高和列宽_在Excel中批量插入图片?这要如何操作呢

    酌酒与君君自宽,人情翻覆似波澜.白首相知犹按剑,朱门先达笑弹冠.草色全经细雨湿,花枝欲动春风寒.世事浮云何足问,不如高卧且加餐. --[唐]王维<酌酒与裴迪> 不知道大家有没有遇到过这种情 ...

  6. wps表格批量插入图片

    wps表格批量插入图片 本文作者LockieDeng,后端工程师,致力于倒腾各种前沿技术,欢迎交流: dengmuuming@163.com 0.前言 在开始阅读本文档之前,电脑中必须安装好 WPS ...

  7. Java利用poi生成word(包含插入图片,动态表格,行合并)

    Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: 图表 1 Word生成结果: 图表 2 需要的jar包:(具体jar可自行去maven下载) Test测试类: imp ...

  8. 图片转word表格在线教学,想知道图片转word表格怎么转吗?

    有时我们会收到一份图片形式的Word文件,要求我们进行转换.那么我们在办公时遇到图片转word表格怎么转呢?其实很多人第一反应会是手动录入,但是现在有很多方法都能直接将文字进行提取并使用.又有哪些能够 ...

  9. Excel根据名字批量插入图片

    Excel根据名字批量插入图片 一.如果图片名称与Excel名称不一致时(如下图1) (图1) 1. 先将文件名批量形成文档txt,先新建一个文本文档1.TXT 打开后输入批处理命令:dir . &g ...

最新文章

  1. 2021年春季学期-信号与系统-第六次作业参考答案-第十一小题
  2. Spring MVC控制器的单元测试:“普通”控制器
  3. 支持多个版本的ASP.NET Core Web API
  4. tesseract 提升 速度_11 代酷睿低压处理器阵容解析:新工艺带来了哪些性能提升?...
  5. 单链表插入元素 注释 c语言,数据结构之无头单链表的相关练习题——C语言实现(详细注释)...
  6. SetInterval(循环计时器)
  7. 全国首家百度大脑创新体验中心启动,中关村创业大街AI产业创新生态再升级...
  8. C++接收字符串数组_C语言处理字符串的7个函数
  9. 【JSOI2007】【BZOJ1029】建筑抢修(贪心,堆)
  10. ISL - Ch.2 Statistical Learning
  11. IteratorX 正式开源:超好用的 jdbc reader
  12. 谷歌livereload插件使用
  13. AdventureWorks范例数据库
  14. Ruby程序语言入门
  15. 吐血推荐:数据库你想知道的都在这
  16. 湖南省中职计算机应用教资面试流程?
  17. 微软云服务器密码如何重置,微软云密码重置
  18. 用Python下载xkcd图片
  19. 独家!阿里开源自用OpenJDK版本,Java社区迎来中国力量
  20. “无聊猿” BAYC 的内忧与外患

热门文章

  1. 梦幻服务器最新开服时间,梦幻西游各区开区的时间表
  2. 文件服务器如何鉴权,服务器客户端鉴权方式
  3. 程序员必备利器——敏捷软件
  4. tomcat的启动流程
  5. FlinkSQL源码解析(三)执行流程
  6. 【解决方案】现代化工厂如何实现智能化视频管理?EasyNVR安防视频监控系统打造智慧工厂
  7. Silverlight-TextBlock換行-LineBreak
  8. 面试杂记:三个月的面试回忆录(携程、腾讯等)
  9. Beta冲刺(8/7)——2019.5.30
  10. sap假脱机打印机设置_SAP打印机设置