動作検証バージョン:64bit Windows 10 Pro + 32bit Excel & Word(バージョン2111 ビルド14702.20262 Microsoft Store)
「excelvba word開いている文書数を確認する」
「excelvba wordで開いているファイル数」
といった検索キーワードで時折アクセスあることに気が付きました。
開いているWord文書の個数を取得するサンプルマクロ
以下のExcelマクロを参考にしてください。
Sub 開いているWord文書の個数を取得する()
On Error GoTo ErrHandl
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "Wordが起動していないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
On Error GoTo ErrHandl
With GetObject(Class:="Word.Application")
MsgBox .Documents.Count
End With
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "Wordが起動していないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
Word.Document.CountでWord文書の個数を取得できる
拙著『Excel VBAユーザーのためのWord VBA入門(1): Document・Range・Selectionの基本編』の「2-5. DocumentsはDocumentのコレクション」で、以下のWord VBAのコードで開いているWord文書の個数がメッセージボックスに表示されることを解説しています。
MsgBox Documents.Count
このコードをExcel VBA等からでも実行できるようにしているのが、上記のSubプロシージャです。
VBAのGetObject関数で、起動済みWord.Applicationオブジェクトへの参照を取得しておいてから、
With GetObject(Class:="Word.Application")
WordのDocumentsコレクションのCountプロパティで取得した
Documentオブジェクトの個数をメッセージボックスに表示しています。
MsgBox .Documents.Count
- 『Excel VBAユーザーのためのWord VBA入門』シリーズのコラム目次
- 『Word VBA入門』に登場するWordのコレクション一覧
- 『Word VBA入門』に登場するオブジェクトごとのプロパティ一覧
最終更新日時:2022-01-03 09:45
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAで開いているWord文書の個数を取得する