MS Office Word2007にテキストコンテンツがあります。
次のようなものを想定します:Abcd Efgh .....
次に、コンテンツ内の各A
の色を赤に変更します。
MS Office Word 2007でそれを行うにはどうすればよいですか?
より簡単な方法は、検索と置換を使用し、フォントタイプ、色、サイズをフォーマットできる詳細オプションを使用し、「大文字と小文字を区別しない」のチェックを外して、「a」のすべてのインスタンスではなく「A」のみを取得することです。 「A」。
これを手動で実行したくないと仮定すると、これを自動化する主な方法は、Wordに組み込まれているVisual Basic for Applicationsプログラミング言語を使用し、大文字のAを検索してその色を変更するスクリプト/コードを作成することです。
これを行う1つの方法は、アクティブなWord文書にコードを配置することです。私はこれをWord2010で試したので、Word 2007でも同じように機能するという100%ではありませんが、おそらくそうなるでしょう。
このコードを実行するには、Marcosを有効にする必要があります。
そのため、Wordで[ファイルに名前を付けて保存]に移動し、[Wordマクロ対応ドキュメント]を選択します。
次に、Wordで開発者ツールを使用できるようにする必要があるため、リボンバーを右クリックして、[リボンのカスタマイズ]を選択します。
そして、「開発者」の横にチェックマークを付けて、「OK」をクリックします。
この魔法を実行したいWord文書(マクロ対応のWord文書として保存したもの)で、新しく表示された[開発者]タブをクリックし、[VisualBasic]ボタンをクリックしてVisualBasicを開きます。
Visual Basic forApplicationsが開きます。 [Microsoft Wordオブジェクト]の下にある[ThisDocument]をダブルクリックして、このWordドキュメントにコードを追加します。
開いたウィンドウで、次のVisualBasicコードを貼り付けます。
Sub ChangeLetterColor()
' Enter the exact letter you want to globally search for in ThisDocument
' Case matters, "A" is not the same as "a"
Const LETTER_TO_CHANGE = "A"
' Enter one of the Word color Constant names to determine the color to change the letter to
' Example Word color constants are:
' wdBlack
' wdBlue
' wdBrightGreen
' wdDarkBlue
' wdDarkRed
' wdDarkYellow
' wdGray25
' wdGray50
' wdGreen
' wdPink
' wdRed
' wdTeal
' wdTurquoise
' wdViolet
' wdWhite
' wdYellow
Const COLOR_TO_CHANGE_TO = wdRed
For i = 1 To ThisDocument.Range.Characters.Count
If ThisDocument.Range.Characters(i) = LETTER_TO_CHANGE Then
ThisDocument.Range.Characters(i).Font.ColorIndex = COLOR_TO_CHANGE_TO
End If
Next
End Sub
次に、VBAツールバーの[実行]ボタンをクリックして、Word文書に戻ります。スクリプトで定義された文字のフォントの色が変更されているはずです。
同様の目標を持つ他のサンプルスクリプトを次に示します。詳細については、それらを参照してください。
https://stackoverflow.com/questions/2396825/how-can-i-loop-through-every-letter-in-ms-Word-using-vba