「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マクロ
『インストラクターのネタ帳』では、2003年10月からMicrosoft Officeの使い方などを紹介し続けています。










