Excel VBAでブックのプロパティ情報や環境情報を一括で取得・出力する

Excel VBAでブックのプロパティ情報や環境情報を取得・出力する方法

Excel VBAを使って、ブックのプロパティ情報や環境情報を取得し、新しいワークシートに出力する方法をご紹介します。この記事では、「WritePropertiesInfo」というマクロを使って、以下の情報を出力する方法を解説します。

  • ブックのプロパティ情報(作成者、タイトル、コメントなど)
  • ワークシート情報(シート名、シート数)
  • ユーザー環境情報(ユーザー名、Excelのバージョン、システム日付・時刻、画面解像度)

Excel VBA「WritePropertiesInfo」マクロの使い方

以下の手順で、「WritePropertiesInfo」マクロを使って情報を取得・出力できます。

  1. ExcelのVBAエディターを開く(Alt+F11)
  2. 新しい標準モジュールを追加
  3. マクロの実行

既に「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」マクロをご紹介しました。これにより、簡単にブックのメタデータやシステム情報を一覧化することができます。ぜひ、日々の業務で活用してみてください。

コメント