• ベストアンサー

Wordのアドインとマクロ実行について

Wordのアドインとマクロ実行について Word2003を使用しています。 アドイン用のテンプレートファイルを作成し、アドインの追加まではできました。 アドインで記述したマクロを実行させたいのですが、記述方法がわかりませんでした。 Excelですと「ファイル名!関数名」で呼べるようですが、 Wordの場合、どのように記述すればアドインのマクロ処理を呼ぶことができるのでしょうか? (例.Word文書にボタンを追加してボタンがクリックされたら、アドインのマクロ処理が実行される等 処理をコードで記述したい) ご教授よろしくお願いたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

今調べてみましたら、アドインは参照設定は自動では入りませんでした。手動で参照設定を入れればよいだけですが、 >別テンプレートで作成した.dotをアドインとして取込、そのマクロを実行する >方法が分からず、悩んでおります。 同じ話を繰り返されても、こちらでは、さっぱり要領が得ません。私が、頭がぼけてきたのかもしれませんね。いろいろ、条件を想像して、どうしたいのか分かりません。 「アドインとして『取込』」ということも、意味が分かりません。それは、.dot ファイルを開けばよいと思いますが……。 >Excelですと「ファイル名!関数名」で呼べるようですが、 そうでないなら、Applicaton.Run で呼び出せばよいのでは? 例えばこんな想像が出来ます。 LibPath: Templateの標準のパス テンプレート名; Test1.dot マクロ名; Module1 MyTest1 '// Sub TestMacro1 Dim LibPath As String   LibPath = Application.NormalTemplate.Path & "\" '任意のパス   AddIns.Add FileName:=LibPath & "Test1.dot", Install:=True   Application.Run "'" & LibPath & "Test1.dot'!Module1.MyTest1" End Sub >あるシステムからWordが起動されたときにのみそのアドインのマクロを実行させたい為です。 そもそも、システムという意味にはいろいろあります。VBAプログラムにもあります。OLEもあります。それに、それを感知させるプログラムが必要なのか、こちらではいくつも想像してしまって特定できません。イベントが必要なのかもしれません。 呼び出しの内容が明らかにされていません。しかし、あえて別のアドインなどにしないで、Normal.dot に入れたほうが早いようにも思います。 コードの一端(1行の意味ではありません)で、どういうことをしようとしているか示してもらえばよいのですが、もしかしたら、最初のこちらの最初の回答で、参照設定すれば済むのかもしれません。ただ、一般の方に即断でダメ出しされるほど、こちらは初心者ではないつもりですが、これ以上、説明しようもないのでしたら、どなたか別の方のレスをお待ちください。ここのカテゴリには、MS-Word VBAが、得意だとされている方もいるようですから。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

できれば、このままにしてほしくないものです。 ・システムという意味が明らかにしていないこと。  ただし、「システム」が、COMや別のプログラムとなると難しい可能性があります。 ・何を呼び出すか、その内容が明らかにされていない。  呼び出させれる側のコードと呼び出す側のコードを公開してほしいです。   この二点に集約されます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

MS-Wordの場合は、最初から、アドイン(.dot) 参照設定されていますから、アドインの標準モジュールにあるものなら、何も付けずに、そのまま呼び出せるはずです。 ただし、具体的な内容を見ていないので、個々の問題に対して、なんとも言えません。

hoofer_2010
質問者

補足

回答ありがとうございます。 現在考えているアドインはNormal.dotの標準モジュールに搭載ではなく、 別テンプレートで作成した.dotをアドインとして取込、そのマクロを実行する 方法が分からず、悩んでおります。 別テンプレートを使用するのは、あるシステムからWordが起動されたときにのみ そのアドインのマクロを実行させたい為です。 わかりづらくて申し訳ありません。 よろしくお願いいたします。

関連するQ&A