今回はWordアプリケーション上に文書を開きその文書情報を表示する方法について紹介したいと思います。
画像の赤枠で囲ってある部分は「word」を起動し、該当ファイルを表示させる処理です。
また、青枠で囲っている部分はイミディエイトウィンドウに該当ファイルの情報を表示させます。
では赤枠から解説します。
Dim wbApp As Word.Application
Set wdApp = CreateObject("Word.Application")
これはwordアプリケーションオブジェクトを生成して、変数にセットする命令です。
Wordアプリケーションのオブジェクト型は、Word.Application です。
Dim wdDoc As Word.document
Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\原稿(1章).docx")
Word文書を開くには、DocumentsコレクションのOpenメソッドを使います。
そして、開いたWord文書を変数にセットして扱いたいので、Setステートメントでセットします。
Set 変数 = Documentsコレクション.Open(ファイル名)
Documentsコレクションはどのように取得するかというと、Word.Applicationオブジェクトの
Documentsプロパティで取得できます。
Wordアプリケーションオブジェクト.Documentsプロパティ
次に、青枠の説明をしていこうと思います。今回は
・ページ数
・段落数
・文字数
・単語数
・文数
の情報を表示させたいと思います。
Debug.Print "ページ数:" & .Content.Information(wdNumberOfPagesInDocument)
Word文書のページ数を取得するには、WordのRangeオブジェクト(またはSelectionオブジェクト)のInformationプロパティという、指定した範囲の情報を取得するプロパティを使います。
Rangeオブジェクト.Information(Type)
Typeに指定する定数で色々な情報を取得できるのですが、今回は文書のページ数なので「wdNumberOfPagesInDocument」
を指定すればOKです。
Debug.Print "段落数:" & .Paragraphs.Count
Debug.Print "文数:" & .Sentences.Count
Debug.Print "単語数:" & .Words.Count
Debug.Print "文字数:" & .Characters.Count
段落数、文数、単語数、文字数はそれぞれオブジェクトとして存在しているため
それぞれ対応したコレクションを取得するプロパティがあります。
実行すると
イミディエイトウィンドウに情報が表示され、wordが起動したことが確認できました。
今回はword文書の情報をVBAから表示させる方法を紹介しました。
ご覧いただき、ありがとうございました。
■参考元
https://tonari-it.com/excel-vba-word-document-information/