pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

WordVBA:文書属性(BuiltInDocumentProperties)

Word文書を作成したのち、リボン(2007で済みません)→配布準備→プロパティ、とすすんで、作者やタイトルなどを正確に記入してから保存する、という人はそう多くないのではと想像します。自動でデフォルト設定が挿入されていたり、そもそも気にかけたことも無い…とか。
f:id:PageTAKA:20131024145820j:plain
まあ、Word文書をそのままネットにUPするのがすすめられる時代ではありませんので、それがどうした、ということにもなりかねないのですが、プロパティのいくつかの項目に必要事項を記入してあると便利なこともあります。ちょっと次のようなことを考えてみてはいかがでしょうか。

  • Word文書の出所が記入してあると、誤字脱字などで連絡をとるときなどプロパティから確認できます
  • Word文書をHTMLとして出力したとき、必要なタグがある程度準備されている
  • WordからPDFを作成したときプロパティを引き継ぐと、PDF側で再設定の必要が無い
  • VBAなどで一斉にプロパティを設定する道筋が見えてくる
  • PDFでネットにUPした場合、検索エンジンに拾ってもらいやすい環境を準備したことになる…だろうと…おそらく。

Word文書にプロパティがあることを知っていると、逆に削除してないといけないときもあることがわかる…のではないかと思います。自分はプロパティ削除したのに、どこに残っていたんだろう…などというようなことも…。対立関係とか裏表の関係にあるところに同じWord文書を供給・流用していたりして、自分としては出所を消している、と思っていても、ひょっとして、そのうち矛盾が表面化しかねませんよ…ご注意のほど。

WordVBA2010 の 文書プロパティ表示

同じ値を得るのにいくつかの方法があるようです。文書作成者でしたら、つぎのようにするとOKみたいです。

Debug.Print ActiveDocument.BuiltInDocumentProperties(3)
Debug.Print ActiveDocument.BuiltInDocumentProperties("author")
Debug.Print ActiveDocument.BuiltInDocumentProperties(wdPropertyAuthor)

これは、表示/書きこみともできますので、VBAで一気に設定することもできるという…。

ActiveDocument.BuiltInDocumentProperties(3) = "変更しました"
Debug.Print ActiveDocument.BuiltInDocumentProperties(3)

上の短いVBAを実行すると、次のようにプロパティの作成者が代わっていると思います。
f:id:PageTAKA:20131024152045j:plain
キーワード:Word,VBA,文書,文書属性,文書プロパティ,配布準備,Word文書プロパティ

Mastering VBA for Microsoft Office 2013

Mastering VBA for Microsoft Office 2013