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に適用されます。