使用 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
我正在尝试使用 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