Я пытаюсь выполнить поиск по текстовому документу и заменить совпадения с регулярными выражениями серией статических гиперссылок.
Например, если я получу совпадение с регулярным выражением для "A-1"
, я хочу заменить "A-1"
строка с гиперссылкой с Anchor = "A-1"
и Address = "https://www.my_website.com/A-1"
.Мои совпадения с RegEx могут быть "A-1", "A-2", "A-3", etc
.
Я знаком с RegEx, но я очень плохо знаком с VBA.Что у меня есть до сих пор:
Sub FindAndHyperlink()
Dim RegEx As Object
Set RegEx = CreateObject("VBScript.RegExp")
RegEx.Global = True
RegEx.Pattern = "([A][\-])([0-9])"
Set Matches = RegEx.Execute(ActiveDocument.Range.Text)
For Each Match In Matches
ActiveDocument.Range.Text = RegEx.Replace(ActiveDocument.Range.Text, (ActiveDocument.Hyperlinks.Add Anchor:=Match, Address:="https://www.my_website.com/" & Match))
Next
End Sub
Это не компилируется, потому что он ожидает )
после ActiveDocument.Hyperlinks.Add
.
Я думаю, проблема в том, что метод RegEx.Replace()
ожидая (String, String)
аргументов, а не (String, Hyperlink object)
, но я не уверен, что лучший способ обойти это.
Любая помощь будет оценена.