めい
はじめに
今回は、ブックのプロパティの取得方法について解説します。
ブックのプロパティとは、ブックの作成者や、最終更新者、作成日時などのことを指します。
以下の通り、Excelファイルのプロパティをイメージしていただけると良いかと思います。
この記事を読むメリット
- ブックのプロパティの取得方法が分かります。
- 使用についての注意点についても詳しく解説します。
- ユーザ設定のドキュメントプロパティの取り扱いについても解説します。
使用例
サンプルコードを交えて解説いたします。
サンプルコード
サンプルコード
Public Sub setBuiltinDocumentProperties()
' タイトルの設定
ThisWorkbook.BuiltinDocumentProperties(1) = "vba-hack"
' 件名の設定
ThisWorkbook.BuiltinDocumentProperties("Subject") = "業務効率化とプログラミング学習を同時に実践"
' タイトルをSheet1のB1セルに出力
ThisWorkbook.Worksheets("Sheet1").Range("B1").Value = ThisWorkbook.BuiltinDocumentProperties("title")
' 変更日時をSheet1のB2セルに出力
ThisWorkbook.Worksheets("Sheet1").Range("B2").Value = ThisWorkbook.BuiltinDocumentProperties(2)
End Sub
上記サンプルを実行すると、実行したブックの設定値が変更されてしまうので取り扱いにはご注意ください。
実行結果
実行前
実行後
りゅう
2枚目の画像のプロパティ値については、Excel保存後に反映されるので注意が必要です。
詳細解説
構文や注意点などについて解説します。
構文
構文
WorkbookObject.BuiltinDocumentProperties(index/title)
めい
indexかtitleのどちらかを指定してください。
具体的にどういった値を指定するかを次項にて解説します。
具体的にどういった値を指定するかを次項にて解説します。
引数
引数には、以下表を参照しindexかtitleを指定してください。
index指定の場合「インデックス番号」を指定します。
title指定の場合「タイトル」の文字列を指定します。
インデックス番号 | タイトル | 詳細 |
1 | Title | タイトル |
2 | Subject | 件名 |
3 | Author | 作成者 |
4 | Keywords | キーワード |
5 | Comments | コメント |
6 | Template | テンプレート |
7 | Last author | 最後の作成者 |
8 | Revision number | 改訂番号 |
9 | Application name | アプリケーション名 |
10 | Last print date | 最終印刷日時 |
11 | Creation date | 作成日 |
12 | Last save time | 最終保存時間 |
13 | Total editing time | 合計編集時間 |
14 | Number of pages | ページ数 |
15 | Number of words | 単語数 |
16 | Number of characters | 文字数 |
17 | Security | セキュリティ |
18 | Category | カテゴリ |
19 | Format | フォーマット |
20 | Manager | マネージャー |
21 | Company | 会社 |
22 | Number of bytes | バイト数 |
23 | Number of lines | 行数 |
24 | Number of paragraphs | 段落数 |
25 | Number of slides | スライド数 |
26 | Number of notes | ノート数 |
27 | Number of hidden Slides | 非表示のスライド数 |
28 | Number of multimedia clips | マルチメディアのクリップ数 |
29 | Hyperlink base | ハイパーリンクベース |
30 | Number of characters (with spaces) | 文字数(スペース含む) |
31 | Content type | コンテンツタイプ |
32 | Content status | コンテンツステータス |
33 | Language | 言語 |
34 | Document version | ドキュメントバージョン |
使用における注意点
一部値を取得する場合に、エラーが発生する場合があります。
例えば、印刷をしたことがないブックに対して、「最終印刷日時」を取得しようとするとエラーとなります。
従って、プロパティを取得する前に、エラーを無視するコードを記載しましょう。
サンプルコード(応用編)
本項では、汎用的なサンプルコードを掲載していきます。
ブックの全プロパティを出力
サンプルコード
Public Sub writeAllBuiltinDocumentProperties()
Dim var As Variant ' DocumentPropertyオブジェクト
Dim i As Integer ' ループカウンタ
' エラー無視設定
On Error Resume Next
i = 1
For Each var In ThisWorkbook.BuiltinDocumentProperties
' A列にタイトルを出力
ThisWorkbook.Worksheets("Sheet1").Cells(i, 1).Value = var.Name
' B列にプロパティ値を出力
ThisWorkbook.Worksheets("Sheet1").Cells(i, 2).Value = var.Value
' ループカウンタをインクリメント
i = i + 1
Debug.Print var.Name
Next
' エラー無視設定の解除
On Error Resume Next
End Sub
コメント