在word中自动插入图片 vba代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在word中自动插入图片 vba代码相关的知识,希望对你有一定的参考价值。

在word中键入“检查图片:IMG-8802.jpg”如果在指定的文件夹中有这个文件的话就自动把照片插入进去,需要一次性插入100张左右个图片 图片大小保持原尺寸

Sub 批量插入图片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile
.InitialFileName = "E:\工作文件" ‘这里输入你要插入图片的目标文件夹
If .Show = -1 Then
For Each Fn In .SelectedItems
Selection.Text = Basename(Fn) '这两句移到这里
Selection.EndKey
If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Set MyPic = Selection.InlineShapes.AddPicture(FileName:=Fn, SaveWithDocument:=True) '按比例调整相片尺寸
WidthNum = MyPic.Width
c = 6 '在此处修改相片宽,单位厘米
MyPic.Width = c * 28.35
MyPic.Height = (c * 28.35 / WidthNum) * MyPic.Height
If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末
Selection.TypeParagraph '在文末添加一空段
Else
Selection.MoveDown
End If
Next Fn
Else
End If
End With
Set myfile = Nothing
End Sub
Function Basename(FullPath) '取得文件名
Dim x, y
Dim tmpstring
tmpstring = FullPath
x = Len(FullPath)
For y = x To 1 Step -1
If Mid(FullPath, y, 1) = "\" Or _
Mid(FullPath, y, 1) = ":" Or _
Mid(FullPath, y, 1) = "/" Then
tmpstring = Mid(FullPath, y + 1)
Exit For
End If
Next
Basename = Left(tmpstring, Len(tmpstring) - 4)
End Function
执行此代码后,弹出的选择对话框, 全选目标文件夹下的所有图片文件之后,点击确定。然后静静的等待电脑完成处理工作,次数word会进入无响应状态。图片越多,无响应的时间越长。
参考技术A

批量插入文件夹图片

你可以先把图片按自己的意愿编辑好顺序和图片标题,防止错乱(如 001或002a、002b)

参考技术B 自动插入?而且一下子一百张,难度大啊

高分跪求 VBA word中实现循环搜索 并在WORD中找到列表 再根据已有数据自动填写进本行其它列

我有多份WORD,和带有A,B两列数据的EXCEL,每个WORD中有很多列表框。实现宏自动搜索,并在EXCEL中的A列等于WORD中任意表格的第一列时(文字内容一样),我希望将EXCEL中对应的B填写到WORD该表格同一行的第三列中去。以上所述的EXCEL数据可以拷贝到代码里,不用必须读EXCEL文件。解决后再追加100分

参考技术A 用选择性粘贴就ok 了! 参考技术B 加我的qq

以上是关于在word中自动插入图片 vba代码的主要内容,如果未能解决你的问题,请参考以下文章

寻找WORD VBA高手解决WORD批量插入图片程序的问题

利用VBA如何将批量图片导入WORD的指定表格格式里?

利用VBA如何将批量图片导入WORD的指定表格格式里?

Word中用VBA插入一个文件夹里的所有.jpg图片

word表格里插入数码图片问题

word用vba批量导入图片文件时,怎样保留图片原有大小,而不是统一固定大小?跪谢!下为您原来提供的代码