Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » VBAで段落番号をテキストにーConvertNumbersToTextメソッド

VBAで段落番号をテキストにーConvertNumbersToTextメソッド

動作検証バージョン:64bit Windows 10 Pro + 32bit Wordバージョン2103 ビルド13901.20336 Microsoft Store)

Wordの段落番号は便利なはずなのですけれど、思ったように制御できないために不満を感じている方が、かなりいらっしゃるようです。

段落番号機能を使わず、単なる文字列としての番号を手入力するという方も少なくないでしょう。

「wordvba 段落番号をテキストに」
といった検索キーワードで、このサイトへのアクセスもあります。
Word VBAで段落番号を単なるテキストに変換するには、どのようなコードを書けばいいのかを探していた方によるです。

アクティブ文書の段落番号をテキストに変換するサンプル

以下のSubプロシージャを実行すると、アクティブ文書に存在するすべての段落番号が、単なるテキストに変換されます。

Sub アクティブ文書の段落番号をテキストに変換する()
 ActiveDocument.ConvertNumbersToText NumberType:=wdNumberParagraph
End Sub

段落番号等を単なるテキストに変換するConvertNumbersToTextメソッドが、いくつかのオブジェクトに用意されています。

その中で、上記のSubプロシージャではDocumentオブジェクトのConvertNumbersToTextメソッドを使って、

アクティブ文書の段落番号をテキストに変換しています。

ConvertNumbersToTextメソッドの引数NumberTypeには、(残念ながらオブジェクトブラウザーから読み取れませんが)WdNumberType列挙に定義されている定数を指定できます。

ここでは段落番号をテキストにするため、定数wdNumberParagraphを指定しています。

選択箇所の段落番号をテキストに変換するサンプル

選択箇所の段落番号のみテキストに変換したい、という場合もありそうです。その場合は以下のようなSubプロシージャです。

Sub 選択箇所の段落番号をテキストに変換する()
 Selection.Range.ListFormat.ConvertNumbersToText NumberType:=wdNumberParagraph
End Sub

こちらのSubプロシージャでは、ListFormatオブジェクトに用意されているConvertNumbersToTextメソッドを利用しています。

ただし、RangeオブジェクトにはListFormatプロパティがあるものの、Selectionオブジェクトには見当たりません

そこで『Excel VBAユーザーのためのWord VBA入門(1)』の「7-4. オブジェクトを返すSelectionの特徴的なプロパティ」でもご紹介しているSelection.Rangeプロパティを使ってRangeオブジェクトを取得してから、Range.ListFormatプロパティで

ListFormatオブジェクトを取得しています。

最終更新日時:2022-08-05 03:18

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Documentオブジェクト » VBAで段落番号をテキストにーConvertNumbersToTextメソッド

「Documentオブジェクト」の記事一覧

検索


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

.