こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Wordファイルから別Wordファイルのマクロを起動したい

Word2003でマクロを作成しました。

WordファイルAにはマクロを保存したくないので、
WordファイルBに保存しています。
このマクロをWordファイルAから起動したいのですができません。
WordファイルAを開き「マクロの実行」ダイアログボックスから
WordファイルB内のマクロを選択して
「実行」ボタンを押して実行したいのですが、
一覧にマクロ名が表示されないのです。

Excelの場合は、ExcelファイルAからExcelファイルBのマクロを
呼び出すことができるのですが、
(例えばブック名!モジュール名.マクロ名)
Wordではできないのでしょうか?
何か設定が必要でしょうか?

ご存知の方がいらっしゃいましたら、
よろしくお願いいたします。

投稿日時 - 2008-09-30 21:51:23

QNo.4368485

すぐに回答ほしいです

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

こんばんは。

>(例えばブック名!モジュール名.マクロ名)
この方法は、私は、Excelの場合のほうが特殊だと思います。
Excelは、モジュールが複雑なので、固有のマクロを呼び出さざるを得ないわけです。

もちろん、Wordでも、Application.Run で呼び出すことは可能ですが、そういうことは、Wordではあまりしません。

Wordの場合は、ActiveDocument にはマクロをいれずに、基本的に、Normal.dot にマクロを入れる構造になっています。だから、Normal.dot(C:\Documents and Settings\[UserName]\Application Data\Microsoft\Templates\ または、...Microsoft\Word\STARTUP\) の標準モジュール等(ローカルモジュール・プロシージャ以外)に入れさえすれば、どこでも呼び出しが出来るようになっています。後者のSTARTUPに入れたほうが加工がしやすいです。

似てはいても、ExcelのPERSONAL.XLS とは、基本的な呼び出しの構造が違います。Wordは自動的に参照設定が組まれています。

他には、テンプレートフォルダ(C:\Documents and Settings\[UserName]\Application Data\Microsoft\Templates\)、テンプレートファイル(.dot)に入れて、メニューのツール-テンプレートとアドインの中で、追加で、dot ファイルを選ぶ方法があります。もしくは、...Microsoft\Word\STARTUP\ にテンプレートファイルを入れることで、呼び出します。

そうでない場合は、A,B の片方を参照設定します。しかし、参照設定すれば、Aを開けば、必ずBが開いてしまいます。

少しフォルダの位置がややこしいですが、良く読んで試してみてください。

投稿日時 - 2008-10-01 01:54:35

お礼

Wendy02さん

回答ありがとうございます。
Excelの方が特殊だったんですね。
大変参考になりました。
回答くださった案で試してみたいと思います。
ExcelVBAに比べてWordVBAの情報が少ないので、
とても助かりました。

ありがとうございました。

投稿日時 - 2008-10-04 18:48:11

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問