「word vba 総段落数を取得」
「wordマクロ 段落の数」
「ワード2010 マクロ 段落数」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。
段落の数を取得するWordマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。
アクティブ文書の段落数を取得するサンプルマクロ
以下のようなマクロで、アクティブ文書の段落数を取得することができます。MsgBox ActiveDocument.Paragraphs.Count
End Sub
Paragraphsプロパティで全段落を表すParagraphsコレクションオブジェクトを取得して、そのCountプロパティで段落数を取得しています。
開いている文書の段落数をExcelに出力するWordマクロ
以下のようなマクロで、開いている文書の文書名と段落数を、Excelに書き出すことができます。
Dim doc As Document
Dim xl_app As Object
Dim xl_wbk As Object
Dim r As Long '行番号
Set xl_app = CreateObject("Excel.Application")
With xl_app
.Visible = True
Set xl_wbk = .Workbooks.Add
End With
r = 1
With xl_wbk.Worksheets(1)
.Cells(r, "A").Value = "文書名"
.Cells(r, "B").Value = "段落数"
For Each doc In Documents
r = r + 1
.Cells(r, "A").Value = doc.Name
.Cells(r, "B").Value = doc.Paragraphs.Count
Next doc
.Range("A1").CurrentRegion.EntireColumn.AutoFit
End With
Set xl_wbk = NothingSet xl_app = Nothing
End Sub
ExcelをCreateObjectして表示し、
Set xl_app = CreateObject("Excel.Application")
With xl_app
.Visible = True
新規ブックを作成します。
Set xl_wbk = .Workbooks.Add
出力先の行番号を格納する変数・rを初期化して、
r = 1
先ほど作成した新規ブックの、1枚目のシートに見出し行を作成し、
With xl_wbk.Worksheets(1)
.Cells(r, "A").Value = "文書名"
.Cells(r, "B").Value = "段落数"
開いている全文書にループを回して、
For Each doc In Documents
文書名と段落数を2行目以降に書き出しています。
r = r + 1
.Cells(r, "A").Value = doc.Name
.Cells(r, "B").Value = doc.Paragraphs.Count
全文書のループが終わったら、Excelの列幅を調整しています。
Next doc
.Range("A1").CurrentRegion.EntireColumn.AutoFit
- Newer:VBAの経験がないと難しいが大変ためになった
- Older:Excel VBAでヘッダー・フッターを削除する
Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » 段落数を取得するWordマクロ