コード化されたテキストからハイパーリンクを作成する(Microsoft Word)
JimのWord文書には、アクティブなハイパーリンクではないURLがたくさんあります。
各URLは、テキスト[lt]と[gt]で「括弧で囲まれています」。したがって、たとえば、URLは[lt] `link:/ https:-www.tips.net%5Bgt%5Dのように表示される場合があります。ジムは、マクロが角かっこコード間のテキストを検索し、見つかったテキストからハイパーリンクを作成してから、角かっこコードを削除する方法があるかどうか疑問に思います。
検索と置換のワイルドカード機能を使用する場合、このようなインスタンスの検索は簡単です。 「[lt] `* [gt]」(引用符なし)を検索し、ワイルドカード検索を実行していることを指定するだけです。トリッキーな部分は、ブラケットコードを取り除き、それらの間にあるものをアクティブなハイパーリンクにすることです。
ジムが疑ったように、これらすべてを1つのパスで実行するには、実際にはマクロを使用する必要があります。それでも、マクロはそれほど複雑である必要はありません。
これがトリックを実行するものの例です:
Sub AddHyperLinksAndClearBrackets() Selection.Find.ClearFormatting With Selection.Find .Text = "\[lt\]*\[gt\]" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = True .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Do While Selection.Find.Found Selection = Mid(Selection, 5, Len(Selection) - 8) ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ Address:=Selection, SubAddress:="" Selection.Find.Execute Loop End Sub
(Do Whileループで)一致が見つかった場合は常に、作業の大部分を実行する2つのコマンドがあることに注意してください。最初はこれです:
Selection = Mid(Selection, 5, Len(Selection) - 8)
このコマンドラインは、選択範囲から開始ブラケットコードと終了ブラケットコードを引いたものに等しい選択範囲を設定します。事実上、ブラケットコードを削除し、途中にあったものはすべて残します。これは、ブラケットコードを取り除くために、個別の検索と置換操作を実行する必要をなくす、巧妙な小さなトリックです。
ブラケットコードを削除した後、次の行が実行されます:
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ Address:=Selection, SubAddress:=""
この行は、残りの選択(テキストのみのハイパーリンクである必要があります)をアクティブなハイパーリンクに変換します。
マクロは短く、甘く、ドキュメント内にコード化されたハイパーリンクの数に関係なく、非常に高速に実行されます。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(672)は、Microsoft Word 2007、2010、2013、および2016に適用されます。