BuiltinDocumentPropertiesプロパティを使えばエクセルブックのプロパティ(作成者やタイトル、更新日時など)を取得することができます。
今回は、ブックを開かないでプロパティを取得する方法について徹底的に説明していきます。
BuiltinDocumentPropertiesを使ってブックを開かないでプロパティを取得する方法
BuiltinDocumentProperties で取得できるプロパティについて
構文: Workbookオブジェクト. BuiltinDocumentProperties(Index)
引数Indexで指定する、 BuiltinDocumentPropertiesプロパティで取得できる主なプロパティ名は以下の表のとおりです。
| プロパティ名 | 内容 |
| Title | タイトル |
| Subject | サブタイトル |
| Keywords | キーワード |
| Comments | コメント |
| Application Name | アプリケーション名 |
| Author | 作成者 |
| Last Author | 最終更新者 |
| Creation Date | 作成日時 |
| Last SaveTime | 更新日時 |
| Last Print Date | 最終印刷日 |
ブックを開かないでプロパティを取得する方法
ブックを開かないでプロパティを取得するためのサンプルコードは以下のとおりです。
なお、ブックを複数選択できるようになっているのが特徴です。
Sub プロパティ取得()
Dim myfile As Variant
Dim obj As Object
Dim myLstime() As String
Dim LStime As String
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True '複数ファイル選択可能にしている
.Title = "ファイル選択"
If .Show = 0 Then '「キャンセル」ボタンをクリックしたら処理を終了する
Exit Sub
End If
i = 0
For Each myfile In .SelectedItems
Set obj = GetObject(myfile) '取得したファイルをオブジェクトとして取得する
mytime = obj.BuiltinDocumentProperties("Last Save Time") '更新日時を取得する
LStime = LStime & mytime & vbLf
Next
End With
MsgBox LStime
End Sub
実行すると、ファイル選択ダイアログが開き、複数のファイルを選択できます。
選択したファイルの更新日時をメッセージボックスで表示します。

ファイルを開かないでプロパティを取得するので、かなり高速仕様になっています(笑)
【まとめ】BuiltinDocumentPropertiesを使ってブックを開かないでプロパティを取得する方法
BuiltinDocumentPropertiesプロパティを使ってブックを開かないでプロパティを取得するには
Application.FileDialog(msoFileDialogFilePicker)を使用すれば複数のファイル(ブック)を選択できます。
最終更新日時などのプロパティを取得する機会は意外とありますので、今回の方法をぜひ覚えておいてくださいね。

コメント