Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAで書式をクリアする-ClearFomatting

Word VBAで書式をクリアする-ClearFomatting

対象:Word2003, Word2007, Word2010, Word2013

「word vba paragraph 書式 クリア」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Wordには[書式のクリア]というコマンドがあります。

書式をクリアするWordマクロ

設定されている書式をクリアして[標準]スタイルに戻すコマンドです。

このコマンドに該当するWordマクロ・VBA(Visual Basic for Applications)のコード、を探している方による検索でしょうか。

[スポンサードリンク]

参考になりそうなサンプルマクロをご紹介しておきます。

アクティブ文書の書式をクリアするサンプルマクロ

アクティブな文書の書式をすべてクリアするマクロです。

Sub アクティブな文書の書式をクリアする()
 ActiveDocument.Select
 Selection.ClearFormatting
End Sub

上記のマクロを実行すると、アクティブな文書の書式がすべてクリアされます。

アクティブな文書全体を選択して、
 ActiveDocument.Select

SelectionオブジェクトのClearFormattingメソッドを実行しています。
 Selection.ClearFormatting

書式クリア後に選択箇所を変更しないようにしたサンプルマクロ

上記のマクロでは実行後に、文書全体が選択された状態となります。

それを避けるのなら、以下のようなマクロです。

Sub アクティブな文書の書式をクリアする()
 Dim pos_a As Long
 Dim pos_z As Long

 pos_a = Selection.Start
 pos_z = Selection.End

 ActiveDocument.Select
 Selection.ClearFormatting

 Selection.Start = pos_a
 Selection.End = pos_z
End Sub

選択範囲の、先頭と最後を変数に格納して、
 pos_a = Selection.Start
 pos_z = Selection.End

先のマクロと同じく全体を選択して、
 ActiveDocument.Select

Selection.ClearFormattingメソッドを実行して、
 Selection.ClearFormatting

変数に格納していた場所を選択しなおしています。
 Selection.Start = pos_a
 Selection.End = pos_z

Paragraphオブジェクトに書式クリアを行うメソッドはない

「word vba paragraph 書式 クリア」
という検索からは、このSelectionオブジェクトのClearFormattingメソッドと同じメソッドが、Paragraphオブジェクトにないのかを調べていたのかもしれません。

こういうときには[オブジェクトブラウザー]の出番です。

書式をクリアするWordマクロ

Paragraphオブジェクトを調べても、ClearFormattingのようなメソッドは見当たりません。

書式のクリアをするには、Selectionオブジェクトを利用するのが、よさそうです。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAで書式をクリアする-ClearFomatting

「Selection」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.