Word的VBA:尝试在Word文档中基于文件名插入JPEG对象

Word的VBA:尝试在Word文档中基于文件名插入JPEG对象,vba,ms-word,Vba,Ms Word,我有一个word文档,其中包含嵌入的照片文件名(JPEG)。我的目标是用文档中列出的实际照片自动更新word文档。我希望编写一个宏来搜索word文档中出现的每个文件名,并在文件名之后立即将实际的JPEG对象插入word文档中。我需要继续此过程,直到在word文档中找到所有JPEG文件名。每个文件名有26个字符长,并且都以“IMG”开头。作为一名新手,我一直在研究如何将文件名的文本复制到VBA变量中 以下是word文档的示例: 2014年2月16日星期日 晚上9点52分,汤姆,附上前后照片 标签:

我有一个word文档,其中包含嵌入的照片文件名(JPEG)。我的目标是用文档中列出的实际照片自动更新word文档。我希望编写一个宏来搜索word文档中出现的每个文件名,并在文件名之后立即将实际的JPEG对象插入word文档中。我需要继续此过程,直到在word文档中找到所有JPEG文件名。每个文件名有26个字符长,并且都以“IMG”开头。作为一名新手,我一直在研究如何将文件名的文本复制到VBA变量中

以下是word文档的示例:

2014年2月16日星期日 晚上9点52分,汤姆,附上前后照片

标签:建筑 照片:IMG_0000320_2014.03.11.jpg、IMG_0000321_2014.03.11.jpg、IMG_0000322_2014.03.11.jpg

2014年2月13日星期四 下午4:24,汤姆,图纸附在后面。请复习

标签:预授予 照片:IMG_0000323_2014.03.11.jpg、IMG_0000324_2014.03.11.jpg、IMG_0000325_2014.03.11.jpg、IMG_0000326_2014.03.11.jpg

我最初的编码尝试如下所示:(我还没有尝试过DO WHILE逻辑)


我收到一个编译错误:Selection.Copy语句上的预期函数或变量

可能是这样的:

Sub InsertPics()
Const PATH_TO_PICS As String = "C:\_Stuff\Test\"
Dim JPEGName As String

    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "IMG*.jpg"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With

    Do While Selection.Find.Execute()
        JPEGName = Selection.Text
        Selection.Collapse wdCollapseEnd
        Selection.TypeParagraph
        Selection.InlineShapes.AddPicture _
             FileName:=PATH_TO_PICS & JPEGName, _
             LinkToFile:=False, _
             SaveWithDocument:=True
        Selection.TypeParagraph

    Loop

End Sub
Sub InsertPics()
Const PATH_TO_PICS As String = "C:\_Stuff\Test\"
Dim JPEGName As String

    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "IMG*.jpg"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With

    Do While Selection.Find.Execute()
        JPEGName = Selection.Text
        Selection.Collapse wdCollapseEnd
        Selection.TypeParagraph
        Selection.InlineShapes.AddPicture _
             FileName:=PATH_TO_PICS & JPEGName, _
             LinkToFile:=False, _
             SaveWithDocument:=True
        Selection.TypeParagraph

    Loop

End Sub