Word中批量插入图片和文件名

今天在处理word的时候遇到这么一个问题,在一个文件夹中有多张图片,需要插入图片的同时插入文件名。经过试验找到了下面的方法。

首先到word2013版本中,默认是没有这个功能的,需要自己定义这个功能。方法是利用到word强大的宏。

代码如下:

Sub 插入图片()
Dim myfile As FileDialog
Set myfile = Application.FileDialog(msoFileDialogFilePicker)
With myfile

.InitialFileName = "C:\"
If .Show = -1 Then

For Each fn In .SelectedItems

Selection.Text = Basename(fn) '函数取得文件名
Selection.EndKey

Selection.TypeParagraph '在文末添加一空段
Selection.MoveDown

Set mypic = Selection.InlineShapes.AddPicture(FileName:=fn, SaveWithDocument:=True)
mypic.Width = 400 '根据需要设置
mypic.Height = 300

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,视图--宏--创建,输入一个名称,点击编辑,复制上面的代码,ctrl+s保存;然后关闭宏编辑对话框,点击运行即可。

 标签: none

作者  :  sailor

仅仅看明白了还不够,能把别人给讲明白了才算及格。


  1. 小鱼
    1#
    小鱼

    不错,灰常实用,感谢分享!

    June 9th, 2015 at 09:22 pm 回复


最新文章