Excel VBAでWordを操作するための参照設定

これは始まりの始まりでしかない、ただのメモっすw

最近色々ドタバタで更新できていませんでしたが、ボチボチ再開したい

でも、何か色々データが消えたので、立ち直るのに時間がwww

ま、そーもいってられんから、何気なく、書き始めるのです

■Word文書

仕事の現場で、Word文書の更新状況を確認する必要が出てきまして、始めはファイルの更新日付で管理していたのですが、SVNなどのソース管理システムでWord文書もバージョン管理をするようになりました

広告

そーすると、更新日付でみる必要がなくなり、バージョン管理で十分になったのですが、今度は、ファイルの中に記載された履歴情報などを実際に正しくかけているのか!?という管理が必要になりました

ファイルを開くと、「更新履歴」という表があって、そこに以下の情報が書かれているのです

  • ファイルバージョン
  • 更新日付
  • 更新者名
  • 更新内容
更新履歴
更新履歴

これをファイルを1つずつ開いて、文書内を「更新履歴」で検索して、内容をExcelに書き写す・・

そんな悲しい作業が待っていたのです!w

しかも、年だの月だのと言ったフォルダに複数のWord文書が配置されていて、同じ名前のファイルまであるのです!?

ソース管理システムに保存される前の管理方法なんですけどね・・

もーいらなくね???って思うんですけど、文書によっては、枝分かれすることもあるらしく、昔の状態でもファイルを残しておきたいのだそうだ・・

最近作った文書ファイルなら、始めからソース管理システムに保存して、ブランチしていけばいいんでしょうけど、昔からあるファイルってのは、そーもいかないそーなんですw

■VBAでWordを処理したい

というわけで、だったら、ExcelマクロのVBAで、フォルダ内のファイルをそれぞれ開いて、更新履歴の内容をコピーしてくるツールを作っちゃえばいいんじゃないの!?

と思いつきましてー

早速、ネットサーフィーーーーーンを開始!

サンプルのソースなどを見つけたのですが、いきなり、以下のような単語(オブジェクト名)がでてくるのです!

  • Word.Application
  • Word.Document

ま、何も気にせず、サンプルを実行してみたのですが、エラーが出て動きませんでした!!!

参照設定
参照設定

Excelにも同じオブジェクトがあるので、何がダメなんだろう???

と一瞬、疑問に思いましたが・・

普通はオブジェクトを生成する場合は、CreateObjectをするんだけど、ExcelオブジェクトをCreateObjectしたことなんてありません!

広告

■参照設定

理由は簡単ですねー

ExcelのVBAでは、始めから参照設定に「Microsoft Excel xx.x Object Library」が入っていますから!!!

参照設定
参照設定

つまり、Wordオブジェクトがエラーになったのは、Wordの「Object Library」が参照設定にないからですね~

と、気が付いてしまえば、「Microsoft Word xx.x Object Library」を参照可能なライブラリファイルの一覧から探して、チェックして「OK」をクリックするだけ!

Microsoft Word xx.x Object Library
Microsoft Word xx.x Object Library

■実行結果

これで実行すれば、問題なくWordオブジェクトを生成してくれます!

実行する
実行する

とまー、今回は最初のところだけを記事にしておきます

実際に更新履歴を取得して、Excelに記載してくところは、今後勉強しながら記事にしていきたいと思います!

というわけで、今回は短いですがw

ではでは

広告

やもす ʕ•͡-•ʔ

のんびり!のほほん!がモットーです!w 蕎麦食いたい ライブ行きたい 暑いの嫌い

シェアする