從一份新工作開始,我必須經歷我的前任離開的大量文檔。它們是MS Word文件,其中包含數百項專利的信息。我不想用在線表格複製/粘貼每一個專利號碼,而是希望用可點擊的超鏈接替換所有專利號碼。我想這應該用vbscript來完成(我不習慣使用MS Office)。vbscript:用超鏈接替換活動文檔中的文本
我到目前爲止有:
<obsolete>
這不是爲我工作: 1.我(可能)需要通過向的ActiveDocument添加的東西循環 2.更換功能可能需要一個串而不是一個參數的對象 - 是否有一個VBScript中的__toString()?
THX!
更新: 我有這部分工作(正則表達式,並找到比賽) - 現在只要我能得到的hyperlink.add法右錨...
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
事實上,我不得不在正則表達式被選爲範圍的部分中找出一個小錯誤。我會更新我的答案,使其成爲完整的工作代碼。 – zenlord 2013-02-18 15:21:39