我编写了一个宏,用Word 2016中的当前文件位置替换文件路径。
Dim i As Long, j As Long
Dim s As String
s = ActiveDocument.Path
Dim sa As String
sa = Replace(s + "\test1.xlxs", "\", "\\")
For Each myStoryRange In ActiveDocument.StoryRanges
With myStoryRange.Find
.Text = "C:*test1.xlsx"
.Replacement.Text = sa
.MatchWildcards = True
.Wrap = wdFindContinue
.Execute Replace:=wdReplaceAll
End With
Next myStoryRange
End Sub
这显示错误"替换文本包含超出范围的组号"
' sa'变量中包含正确的字符串,我在运行时检查了它。 当我更换
时.Replacement.Text = sa
与
.Replacement.Text = "bla"
有效。 在运行时,一个例子是' sa'将是" C:\\用户\\我\\ Documents \\ test1.xlsx"
有没有人有什么建议可能是什么问题?
答案 0 :(得分:2)
在查找和替换文本时,通配符和反斜杠不能很好地协同工作 - 反斜杠有其特定用途。
要在这种情况下替换反斜杠,请使用其等效的ASCII:"^92^92"
而不是"\\"
。