2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

« ◆Outlook VBA(Excel情報を読み込んでメールを自動送信する方法 その2) | トップページ | ■Word VBA(ツールの構成と配布方法について その2) »

2009年6月 6日 (土)

■Word VBA(ツールの構成と配布方法について その1)

滅多にないWord VBAネタです。
最近Wordを使う機会が増えたので、これを機にWord VBAで本格的にツールを作成しようと考えたのですが、Excel VBAと同じと思いきや結構違いがあるのですね。
自作ツールのE2000Toolsのように、ツールを他人に配布することを前提に、ツールの構成や動作環境を構築するにはどうすればよいか試行錯誤しました。私なりに理解した範囲で以下にまとめてみます。

oneまずは基本中の基本
ネットではテンプレートとアドインという言葉がそれぞれ使われていてどう違うのか良く分かりませんでしたが、このサイトがその点をまとめられていてとても分かりやすかったです。テンプレートという考え方が理解できました。

two想定する動作環境
(1)Normal.dotは汚したくないのでマクロは記述しない
(2)E2000Tools.xlsのようにツール用.docにマクロを集約したい、これを配布したい
(3)ツール用.docにカスタムツールバーを作成し、全ドキュメントで共有したい
(4)ツール用.docはスタートアップで自動起動したい
(5)ツール用.docは非表示にしたい
(6)全ドキュメントに対して動作するマクロを記述したい

three結論(運用確立!)
いやぁ苦労しました。試行錯誤してやっと以下の運用に辿り着きました。

まずツール用.docにマクロを記述し、作成したカスタムツールバーから起動できるようにします。
でも、このままでは、ツール用.docを起動しておいたとしても他のドキュメントからこのマクロやツールバーは利用できません。しかもツール用.docは前述(5)の非表示が実現できません。
さらに、ツール用.docを、後述するSTARTUPフォルダから起動すると、

  『プロジェクトを表示できません。』

といわれてしまってマクロの編集が行えない状態となります。なんとも開発しづらい。
なので、

  > copy ツール用.doc ツール用.dot /y

を実行して、アドインテンプレート”ツール用.dot”を作成する運用にします。
実際には、上記コマンドをバッチファイルで実行していますが。。。
普段はツール用.dotを使用して、何かマクロを追加したいときや、不具合を発見したときは、ツール用.docで対応し、動作確認できたらツール用.dotを作成します。
こうすることで、ツール用.doc(=開発用)とツール用.dot(=配布用)の役割が明確になりました。

Word起動と同時に常に使用するためには以下のフォルダにツール用.dotを格納します。
  C:\Documents and Settings\ユーザ名\Application Data\Microsoft\Word\STARTUP
ここまでで、前述の動作環境(1)~(5)までが達成されました。
(6)が残りました。これがまた厄介なので次回に記述したいと思います。

« ◆Outlook VBA(Excel情報を読み込んでメールを自動送信する方法 その2) | トップページ | ■Word VBA(ツールの構成と配布方法について その2) »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« ◆Outlook VBA(Excel情報を読み込んでメールを自動送信する方法 その2) | トップページ | ■Word VBA(ツールの構成と配布方法について その2) »