「word vba 段落番号をテキストファイルへ出力」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。
段落番号をテキストファイルに出力するために、Word VBA(Visual Basic for Applications)でどのようなコードを書けばいいのかを探していた方による検索です。
段落番号をテキストファイルに出力するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブ文書の、アウトラインレベル1と2の段落の段落番号が、「c:\temp\output.txt」に出力されます。
Const F_PATH = "c:\temp\output.txt" ' 出力ファイルのフルパス
Dim f_num As Integer ' ファイル番号
Dim par As Paragraph
f_num = FreeFile
Open F_PATH For Output As f_num
For Each par In ActiveDocument.Paragraphs
With par
If .OutlineLevel <= wdOutlineLevel2 Then
Print #f_num, .Range.ListFormat.ListString
End If
End With
Next par
End Sub
サンプルマクロの解説
アウトラインレベル1の段落の、段落番号と、文字列をイミディエイトウィンドウにDebug.PrintするWordマクロをご紹介しています。
考え方は同じで、イミディエイトウィンドウに出力するのではなく、テキストファイルに出力する部分が異なります。
テキストファイルに出力するために、
Openステートメント、
Open F_PATH For Output As f_num
Print #ステートメント、
Print #f_num, .Range.ListFormat.ListString
Closeステートメントを使っています。
Close f_num
これらの、Open・Print #・Closeステートメントは、ファイル出力の際に利用するVBAの構文で、Excel VBAで利用しているものと同じです。
VBAのFreeFile関数でファイル番号を取得して、
f_num = FreeFile
Openステートメントでファイルを開き、
Open F_PATH For Output As f_num
For Each~Nextループの中で、段落番号を、Print #ステートメントで書き込み、
Print #f_num, .Range.ListFormat.ListString
最後にCloseステートメントでファイルを閉じています。
Close f_num
- Newer:オブジェクト変数が同じオブジェクトを参照しているか判定するには
- Older:アクティブブック名を取得する
Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 段落番号をテキストファイルに出力するWordマクロ-Openステートメント・Print #ステートメント