如何在通过vb向word中批量插入图片

loorj 2017-03-04 11:44:20
从钉钉上导出的EXECL数据,图片只有网络地址,并且几张图片地址合并在一个单元格,我想把图片都自动导出来,写了如下代码,但只能导出一张图片就报错了
Sub tetx()
Dim i As Integer, flag As Boolean, fm
Dim bb, zmin, tpdz

Set my = ActiveWorkbook
Application.ScreenUpdating = False '屏幕刷新关闭
Application.DisplayAlerts = False '信息警告关闭
flag = False
Do While Not flag '对话框打开已有 Excel 文件
fm = Application.GetOpenFilename(fileFilter:="\Excel files (*.xls),*.xls,All files (*.*),*.*")
If fm <> False Then
Workbooks.Open fm
Set bb = ActiveWorkbook
flag = True
End If
Loop
bb.Activate
'对合并的图片地址分列
zf = Mid(bb.Sheets(1).Range("a:ay").Find("图片地址").Address, 2, 1)
Columns(zf & ":" & zf).Select
Selection.TextToColumns Destination:=Range(zf & "1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
TrailingMinusNumbers:=True
ar = Sheets(1).UsedRange

For i = 1 To UBound(ar, 2)
If ar(1, i) = "站名:" Then zmin = i
If ar(1, i) = "图片地址" Then tpdz = i
Next
For i = 2 To UBound(ar, 2)
wjm = ar(i, zmin)
tp1 = ar(i, tpdz)
tp2 = ar(i, tpdz + 1)
tp3 = ar(i, tpdz + 2)

'新建WORD文档
Dim WordApp As Word.Application
Set WordApp = New Word.Application
WordApp.Visible = True
WordApp.Documents.Add
Set CurrentDoc = WordApp.Documents(1)
WordApp.Selection.Fields.Add Range:=CurrentDoc.Paragraphs(1).Range, Type:=wdFieldEmpty, TEXT:="INCLUDEPICTURE " & tp1 & " ", PreserveFormatting:=True
WordApp.Selection.Fields.Add Range:=CurrentDoc.Paragraphs(2).Range, Type:=wdFieldEmpty, TEXT:="INCLUDEPICTURE " & tp3 & " ", PreserveFormatting:=True'运行到这一行时显示运行错误5941,集合所要求的成员不存在
WordApp.Selection.Fields.Add Range:=CurrentDoc.Paragraphs(3).Range, Type:=wdFieldEmpty, TEXT:="INCLUDEPICTURE " & tp3 & " ", PreserveFormatting:=True
CurrentDoc.SaveAs ThisWorkbook.Path & "\" & wjm & ".doc"
CurrentDoc.Close

WordApp.Quit

Set WordApp = Nothing
Next

End Sub

求大侠指点
...全文
1698 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
thamos8960 2017-03-20
  • 打赏
  • 举报
回复
学习一下,我也遇到过,求解。
jack_sparrow_52 2017-03-06
  • 打赏
  • 举报
回复
没有附件吗?
loorj 2017-03-05
  • 打赏
  • 举报
回复
没人顶我自己顶一顶,请教高手啊
嵌入式图形含Visio图大小和样式设置_遍历选定内容嵌入式图形进行设置; 已对外解除多余的引用绑定,确保代码在新的word可用。 包括: ①可操作嵌入式图形,还包括【SmartArt图形】; ②设置所有嵌入式图形【紧后回车符】,避免嵌入式图形与其题注在同一段落内; ③只针对超过当前【页面编辑区宽度或高度】(嵌入式图形高度+题注高度)的进行适配宽度调整; ④统一自动适配宽度(高度上限满足前提下+适配宽度)【防止超高处理】; ⑤设置visio绘图域对象,如果Visio绘图域对象的下方是【图题注】,则设置成【与下段同页 】; ⑥提供【分类表格的类别,让用户选择】,可自定义相应的段落样式; ⑦根据用户选定的段落样式,将图片和其下方题注设置成指定【段落样式】; ⑧只针对用户自己【选定内容】的图片进行【批量操作】,而非简单地全文档。 使用方式: ①简单方式:新建word宏,然后把代码复制进去就行(各种文本查看器均可打开)。【注意】如果使用该方式,请记得把第一行代码删除; ②高级方式:在VBA代码编辑器,导入本宏代码文件,并根据自己的VBA开发环境,设置相应的使用环境参数后,即可使用。

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧