使用 Word VBA 宏添加 OLEObject after/in 特定字符串的位置

Add and OLEObject after/in place of a particular string using Word VBA Macro

我正在尝试使用 VBA 宏在 word 文档中插入一个 OLE 对象。这部分使用下面的代码可以正常工作。

Sub Test()
    Selection.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", FileName _
    :="C:\Users\ananyroy\Documents\SDWAN\NRFUAutomation\Trials\TestFile.xlsx", LinkToFile _
    :=False, DisplayAsIcon:=True, IconFileName:= _
    "C:\WINDOWS\Installer\{90140000-0011-0000-0000-0000000FF1CE}\xlicons.exe" _
    , IconIndex:=100, IconLabel:="Book1.xlsx", Range:=ActiveDocument.Paragraphs(4).Range
End Sub

但是,我正在寻找一种方法来将此 OLE 对象添加到特定字符串之后或代替占位符字符串。使用范围参数似乎是一种乏味的实现方式。感谢任何帮助。

试试这个:

Sub Test()
    Dim rng As Word.Range
    Set rng = ActiveDocument.Content
    With rng.Find
        .ClearFormatting
        .Forward = True
        .Text = "Placeholder Text"
        .Wrap = wdFindStop
        .Execute
        If .found Then
            rng.InlineShapes.AddOLEObject ClassType:="Excel.Sheet.12", FileName _
            :="C:\Users\ananyroy\Documents\SDWAN\NRFUAutomation\Trials\TestFile.xlsx", LinkToFile _
            :=False, DisplayAsIcon:=True, IconFileName:= _
            "C:\WINDOWS\Installer\{90140000-0011-0000-0000-0000000FF1CE}\xlicons.exe" _
            , IconIndex:=100, IconLabel:="Book1.xlsx", Range:=rng
        End If
    End With
End Sub