Excel VBAでブックのプロパティ情報や環境情報を取得・出力する方法
Excel VBAを使って、ブックのプロパティ情報や環境情報を取得し、新しいワークシートに出力する方法をご紹介します。この記事では、「WritePropertiesInfo」というマクロを使って、以下の情報を出力する方法を解説します。
- ブックのプロパティ情報(作成者、タイトル、コメントなど)
- ワークシート情報(シート名、シート数)
- ユーザー環境情報(ユーザー名、Excelのバージョン、システム日付・時刻、画面解像度)
Excel VBA「WritePropertiesInfo」マクロの使い方
以下の手順で、「WritePropertiesInfo」マクロを使って情報を取得・出力できます。
- ExcelのVBAエディターを開く(Alt+F11)
- 新しい標準モジュールを追加
- マクロの実行
既に「PropertiesInfo」という名前のワークシートが存在する場合、マクロはエラーメッセージを表示して実行を中止します。この場合、既存の「PropertiesInfo」ワークシートを削除するか、別名に変更してからマクロを再実行してください。
コードは以下の通りです。
Sub WritePropertiesInfo()
Dim ws As Worksheet
Dim i As Integer
Dim sheetExists As Boolean
sheetExists = False
' 同名のワークシートがあるか確認
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "PropertiesInfo" Then
sheetExists = True
Exit For
End If
Next ws
' 同名のワークシートがある場合、エラーメッセージを表示して終了
If sheetExists Then
MsgBox "既存の「PropertiesInfo」を削除するか別名に変更してください"
Exit Sub
End If
' 新しいワークシートを作成
Set ws = ThisWorkbook.Worksheets.Add
ws.Name = "PropertiesInfo"
' 情報を書き出す
With ws
.Cells(1, 1).Value = "ブックのプロパティ情報"
.Cells(2, 1).Value = "作成者"
.Cells(2, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Author").Value
.Cells(3, 1).Value = "タイトル"
.Cells(3, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Title").Value
.Cells(4, 1).Value = "コメント"
.Cells(4, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Comments").Value
.Cells(5, 1).Value = "作成日時"
.Cells(5, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Creation Date").Value
.Cells(6, 1).Value = "ファイルサイズ"
.Cells(6, 2).Value = FileLen(ThisWorkbook.FullName) & " バイト"
.Cells(7, 1).Value = "最後に保存したユーザー"
.Cells(7, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Last Author").Value
.Cells(8, 1).Value = "最後に印刷した日時"
.Cells(8, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Last Print Date").Value
.Cells(9, 1).Value = "最後に保存された日時"
.Cells(9, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Last Save Time").Value
.Cells(10, 1).Value = "編集時間"
.Cells(10, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Total Editing Time").Value
.Cells(11, 1).Value = "キーワード"
.Cells(11, 2).Value = ThisWorkbook.BuiltinDocumentProperties("Keywords").Value
.Cells(12, 1).Value = "カテゴリ"
.Cells(12, 2).Value = ThisWorkbook.BuiltinDocumentProperties("
まとめ
この記事では、Excel VBAでブックのプロパティ情報や環境情報を取得し、新しいワークシートに出力する「WritePropertiesInfo」マクロをご紹介しました。これにより、簡単にブックのメタデータやシステム情報を一覧化することができます。ぜひ、日々の業務で活用してみてください。
コメント