Zikicaには、赤でフォーマットされたかなりの数のテキスト選択を含むドキュメントがあります。彼は、赤いテキストのすべてのインスタンスを選択し、そのテキストを新しいドキュメントにコピーする方法を望んでいます。彼は、これがマクロで最もよく行われるのか、それともタスクを達成するための他の方法があるのか​​疑問に思います。

マクロを使用してタスクを実行する前に、マクロを使用せずに実行できるいくつかの方法を見てみましょう。 1つ目は、次の手順に従ってWordの検索および置換機能を使用することです。

。新しいドキュメントを開きます。 (これは、赤いテキストをコピーするドキュメントです。)

。元のドキュメントに切り替えます。

。 Ctrl + Hを押します。 Wordは、[検索と置換]ダイアログボックスの[置換]タブを表示します。

。 [検索]タブをクリックします。

。利用可能な場合は、[その他]ボタンをクリックします。ダイアログボックスが展開されます。

(図1を参照)

。 [書式設定なし]ボタンが使用可能な場合は、それをクリックします。これにより、以前に検索した可能性のあるフォーマットがすべて削除されます。

。 [検索]ボックスが空であることを確認してください。

。 [フォーマット]ボタンをクリックしてから、[フォント]をクリックします。 Wordは、[フォントの検索]ダイアログボックスを表示します。 (図2を参照)

。 [フォントの色]ドロップダウンリストをクリックして、ドキュメントで使用した赤の色合いを選択します。

。 [OK]をクリックして、[フォントの検索]ダイアログボックスを閉じます。 Wordは、[検索]ボックスのすぐ下に色情報を表示します。

。 [検索]ドロップダウンリストをクリックして、[メインドキュメント]を選択します。 Wordは、ドキュメント内の赤いテキストのすべてのインスタンスを選択し、ダイアログボックスに見つかったインスタンスの数を表示します。

。 [閉じる]をクリックして、[検索と置換]ダイアログボックスを閉じます。赤いテキストのインスタンスはすべて選択する必要があります。

。 Ctrl + Cを押します。これにより、すべてのテキストがクリップボードにコピーされます。

。新しいドキュメントに切り替えます。

。 Ctrl + Vを押します。 Wordは、すべての赤いテキストを新しいドキュメントに貼り付けます。

別の方法で検索と置換を使用して、同様の解決策を見つけることもできます。このアプローチでは、ドキュメントのコピーを作成することから始め、次にそのコピーを使用して作業を行います。

。 Ctrl + Hを押します。 Wordは、[検索と置換]ダイアログボックスの[置換]タブを表示します。

。利用可能な場合は、[その他]ボタンをクリックします。ダイアログボックスが展開されます。

(図3を参照)

。 [検索]ボックスが空で、挿入ポイントがそのボックス内にあることを確認してください。

。 [フォーマット]ボタンをクリックしてから、[フォント]をクリックします。 Wordは、[フォントの検索]ダイアログボックスを表示します。

。 [フォントの色]ドロップダウンリストをクリックして、[自動]を選択します。

。 [OK]をクリックして、[フォントの検索]ダイアログボックスを閉じます。 Wordは、[検索]ボックスのすぐ下に色情報を表示します。

。 [置換]ボックスが空であることを確認してください。

。 [すべて置換]をクリックします。 Wordは、行った置換の数を通知するダイアログボックスを表示します。

。 [OK]をクリックして、情報ダイアログボックスを閉じます。

。 [閉じる]をクリックして、[検索と置換]ダイアログボックスを閉じます。

このアプローチでは、ドキュメント内の赤以外のテキストがすべて削除され、赤だけが残ります。 (これは、ドキュメントに通常のテキストと赤いテキストしかないことを前提としています。他の色を削除したい場合は、手順を繰り返し、手順5で削除する別の色を指定する必要があります。)これの1つの欠点アプローチでは、赤以外のすべてのテキストが削除されます。これには段落の終わりマーカーも含まれる場合があるため、赤のテキストはすべて1つの段落にまとめて表示される場合があります。

赤いテキストを別のドキュメントにコピーする別の方法は、検索と置換をバイパスして別のツールを使用することです。次の手順に従ってください:

。新しいドキュメントを開きます。 (これは、赤いテキストをコピーするドキュメントです。)

。元のドキュメントに切り替えます。

。赤いテキスト内のどこかに挿入ポイントを配置します。

。リボンの[ホーム]タブを表示します。

。 [編集]グループで、[選択]ツールをクリックし、[同様の書式のすべてのテキストを選択]を選択します。 Wordは、ドキュメント内の同様にフォーマットされた赤いテキストをすべて選択します。

。 Ctrl + Cを押します。これにより、すべてのテキストがクリップボードにコピーされます。

。新しいドキュメントに切り替えます。

。 Ctrl + Vを押します。 Wordは、すべての赤いテキストを新しいドキュメントに貼り付けます。

このタイプの編集を頻繁に行う必要がある場合は、タスクを実行するマクロを作成することをお勧めします。これを行うには複数の方法がありますが、概念を示すには以下で十分です。ドキュメント内のすべての赤いテキストの変数配列を作成し、新しいドキュメントを作成してから、変数配列のテキストを新しいドキュメントに挿入します。

Sub CopyRedTextToNewDoc()

Dim i As Integer     Dim a() As Variant     Dim sFound As String

Selection.Find.ClearFormatting     Selection.Find.Font.Color = wdColorRed     With Selection.Find         .Text = ""

.Replacement.Text = ""

.Forward = True         .Wrap = wdFindContinue         .Format = True         .MatchCase = False         .MatchWholeWord = False         .MatchWildcards = False         .MatchSoundsLike = False         .MatchAllWordForms = False     End With     Selection.Find.Execute

Do While Selection.Find.Found         ReDim Preserve a(i)

sFound = Selection

If Asc(Right(sFound, 1)) <> 13 Then             sFound = sFound & vbCrLf         End If

a(i) = sFound         i = i + 1         Selection.Find.Execute    Loop

Application.Documents.Add     For i = LBound(a) To UBound(a)

ActiveDocument.Range.InsertAfter a(i)

Next

' If you don't want the text in the new document to be red,     ' remove the following three lines or comment them out     Selection.WholeStory     Selection.Font.Color = wdColorRed     Selection.Collapse End Sub

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(379)は、Microsoft Word 2007、2010、2013、および2016に適用されます。