从一份新工作开始,我必须阅读我的前任留下的大量文件。它们是包含数百项专利信息的 MS Word 文件。我不想在在线表格中复制/粘贴每个专利号,而是想用可点击的超链接替换所有专利号。我想这应该用 vbscript 来完成(我不习惯使用 MS Office)。
我到目前为止:
<obsolete>
这对我不起作用: 1. 我(可能)需要添加一些东西来循环 ActiveDocument 2. 替换函数可能需要一个字符串而不是参数的对象 - vbscript 中是否有 __toString() ?
谢谢!
更新:我有这个部分工作(正则表达式和查找匹配项) - 现在只要我能正确获得 hyperlink.add-method 的锚点......
Sub HyperlinkPatentNumbers()
'
' HyperlinkPatentNumbers Macro
'
Dim objRegExp, Matches, match, myRange
Set myRange = ActiveDocument.Content
Set objRegExp = CreateObject("VBScript.RegExp")
With objRegExp
.Global = True
.IgnoreCase = False
.Pattern = "(WO|EP|US)([0-9]*)(A1|A2|B1|B2)"
End With
Set Matches = objRegExp.Execute(myRange)
If Matches.Count >= 1 Then
For Each match In Matches
ActiveDocument.Hyperlinks.Add Anchor:=objRegExp.match, Address:="http://worldwide.espacenet.com/publicationDetails/biblio?DB=EPODOC&adjacent=true&locale=en_EP&CC=$1&NR=$2&KC=$3"
Next
End If
Set Matches = Nothing
Set objRegExp = Nothing
End Sub