新しい仕事から始めて、前任者が残したたくさんの文書を調べなければなりません。それらは、数百の特許に関する情報を含むMSWordファイルです。オンラインフォームですべての特許番号をコピーして貼り付けるのではなく、すべての特許番号をクリック可能なハイパーリンクに置き換えたいと思います。これはvbscriptで行う必要があると思います(私はMS Officeでの作業に慣れていません)。
私はこれまでに持っています:
<obsolete>
これは私にとってはうまくいきません:1。ActiveDocumentをループするために何かを追加する必要があります2. replace-functionはおそらくパラメータのオブジェクトではなく文字列を必要とします-vbscriptに__toString()はありますか?
THX!
更新:これは部分的に機能しています(正規表現と一致の検索)-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