MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


ExcelVBAでWord文書の情報を表示する
profile-img
投稿者: thirumaさん
投稿日:2019/07/25 14:06
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守 / テクニカルサポート / 構築 / 設計 / PL / PM
投稿内容

今回は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/


コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3