PR

4.リンク付きの文字からリンクを削除する

 最後に取り上げるのは、書式に関するマクロです。

 Webサイトなどから文字列をコピーして、Word文書に貼り付ける機会があるでしょう。その際、通常は元の書式がそのまま引き継がれてしまいます。例えば、以下はPC Onlineの記事の一部をコピー・アンド・ペーストしたものです。リンク部分が青文字になったり、行間が開いたりと、フォントサイズも含めて元の書式が引き継がれていることが分かります。リンク部分が青字にならず、リンク先のURLが表示される場合は、「フィールドコード」に関する設定が変更されている可能性があります。[Alt]キーと[F9]キーを同時に押すと、以下の画面のような表示になります(再度[Alt]キーと[F9]キーを押せば、元の状態に戻ります)。

コピー元の文字列の書式が引き継がれてしまう
コピー元の文字列の書式が引き継がれてしまう
[画像のクリックで拡大表示]

 他の文字と同じ書式にするには、貼り付けた文字を選択して書式を設定する必要があります。これを避けるため、いったんテキストエディター(メモ帳、秀丸など)にペーストをしてこの書式情報を取り除いてから、再度、その情報をWordに貼り付けている方、いらっしゃいませんか?

 Word 2010では、右クリックメニューや「ホーム」タブの「貼り付け」ボタンにテキスト形式で貼り付けるためのメニューが表示されるようになり、利便性が向上しました。

Word 2010の「ホーム」タブにある「貼り付け」ボタン
Word 2010の「ホーム」タブにある「貼り付け」ボタン

 ただ、Word 2003やWord 2007では、「形式を選択して貼り付け」ダイアログボックスを開き、さらにそのダイアログボックスで「テキスト」を選ぶ必要があります。

Word 2007の「形式を選択して貼り付け」ダイアログボックス
Word 2007の「形式を選択して貼り付け」ダイアログボックス
[画像のクリックで拡大表示]

 以下のマクロを使えば、こうした手間をかけることなくテキスト形式で貼り付けられます。ショートカットキーを割り付けておくと、繰り返し作業で便利に使うことができます。

Sub テキスト貼り付け()     Selection.PasteAndFormat (wdFormatPlainText)End Sub

 では、既にリンク付きで表示されている文字列のリンクを削除するには、どのようにしたらよいのでしょうか?リンクの部分にカーソルをおいて、[Ctrl] + [Shift] + [F9]キーを押し、手動でリンク部分のフィールド設定を解除することはできます。ただ、リンクが文書中に複数あると手間がかかります。そこで、役に立つのが以下のマクロです。

Sub リンクを削除 ()    Dim myLink As Field    Dim myRange As Range    Set myRange = Selection.Range    For Each myLink In ActiveDocument.Fields        If myLink.Type = wdFieldHyperlink Then            myLink.Select            Selection.Range.Underline = wdUnderlineNone            Selection.Font.ColorIndex = wdAuto            myLink.Unlink        End If    Next myLink    myRange.Select    Set myRange = NothingEnd Sub

 これで、文書中のすべてのリンクが解除されます。また赤の下線部分の処理によって、リンク部分の文字の色を「自動」に変更し、下線も解除します。

文字列からリンクが解除された
文字列からリンクが解除された
[画像のクリックで拡大表示]