Wordファイルから別Wordファイルのマクロを起動する方法

このQ&Aのポイント
  • WordファイルAからWordファイルBのマクロを起動する方法について教えてください。
  • Excelではできるが、Wordではできないのか、何か設定が必要なのか教えてください。
  • WordファイルAからマクロの実行ダイアログボックスでWordファイルBのマクロを選択して実行する方法を教えてください。
回答を見る
  • ベストアンサー

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

Word2003でマクロを作成しました。 WordファイルAにはマクロを保存したくないので、 WordファイルBに保存しています。 このマクロをWordファイルAから起動したいのですができません。 WordファイルAを開き「マクロの実行」ダイアログボックスから WordファイルB内のマクロを選択して 「実行」ボタンを押して実行したいのですが、 一覧にマクロ名が表示されないのです。 Excelの場合は、ExcelファイルAからExcelファイルBのマクロを 呼び出すことができるのですが、 (例えばブック名!モジュール名.マクロ名) Wordではできないのでしょうか? 何か設定が必要でしょうか? ご存知の方がいらっしゃいましたら、 よろしくお願いいたします。

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

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

こんばんは。 >(例えばブック名!モジュール名.マクロ名) この方法は、私は、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が開いてしまいます。 少しフォルダの位置がややこしいですが、良く読んで試してみてください。

paljon
質問者

お礼

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

関連するQ&A

  • 【Excelマクロ】ファイルを開き、マクロを実行する方法を教えてください

    マクロをひとつのブックに保存してマクロボタンを作成しています。そのマクロを別のファイルに実行したいのですが、その記述がわかりません。 [ファイルを開く]ダイアログから指定したファイルを開き、その開いたファイルに対して、すでに別のブックに保存してあるマクロを実行するには、どのように記述したらよいのでしょうか? ご存知の方いらっしゃいましたら、よろしくお願いいたします。

  • Excelのマクロについて

    Excelのマクロについて excel2003で,マクロの自動記録を勉強中です。 [ツール]-[マクロ]-[新しいマクロの記録]でマクロ名を入力し,(マクロの保存先を「作業中のブック」として,)[OK]をクリックすると マクロの記録が始まります。 マクロの記録終了後, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が表示されます。 この場合は実行も正常にできます。 しかし, ブックを一旦保存した後,開いて,マクロを実行しようと, [ツール]-[マクロ]-[マクロ]で「マクロ」ダイアログボックスを見ると,マクロ名が(マクロ名単独ではなく)ブック名とともに表示されます。 実行するとエラーになります。 何が悪いのか分かりません。なにか基本的なミスがあるのかも知れないと考えました。 原因(ミス)に心当たりのあるかた,是非教えてください。

  • エクセルのマクロで別ファイル(エクセル)のマクロを実行させるには?

    エクセルにおいてマクロを組んでいます. 1.実行させたいマクロAが組んであるファイル(Aファイルとします)が多数あります。またマクロAはモジュール内(Module1)に作っております。 2.1のマクロAを別のエクセルファイル(Bファイルとします)のマクロBで実行させたい. 上記のようなことを行いたいのですが可能でしょうか?さらに言えば、マクロBによってマクロAのプロシージャを指定して実行させることは出来るでしょうか? 現在は、マクロBによってマクロAを組んであるAファイルを開き、Aファイルのマクロの中にファイルを開いたときにマクロAを実行させる(イベントドリブン)ようにしています. 直接、マクロBでAファイルのマクロAを動かせるようになればマクロAにイベントドリブンなコードを組む手間がなくなるので、なんとかそのような事が出来ないでしょうか? どうか、詳しい方ご教授ください。 よろしくお願いいたします。。。

  • Excel/Word2003のファイルを2007に移動したい

    このたびパソコンを新たにXPからVistaに買い替えExcel/Wordも2003から2007に替わりました。 ファイルを移動しようとしたところ、名前をつけて保存にカーソルを持っていくと、いくつかの項目が出てきました。 ★Excel ブック(X)  既定のファイル形式でブックに保存します。 ★Excel マクロ有効ブック(M)  XML ベースのマクロ有効ファイル形式でブックを保存します。 ★Excel バイナリ ブック(B)  読み込みと保存をすばやく行えるように最適化されたバイナリ ファイル形式で、ブックを保存する。 ★Excel 97-2003 ブック(9)  Excel 97-2003と完全に互換性のある形式で、ブックのコピーを保存する。 ★他のファイル形式用のアドインを探す(F) ★その他の形式(O) [名前をつけて保存] ダイアログ ボックスを開きます。このダイアログ ボックスでさまざまなファイル形式を選択できます。 どれを選んだらよいのでしょうか??? また2007で作成したファイルは2003では開けないと聞いたのですが、互換機能パックとかいうのを2003の方にダウンロードすれば見れるのでしょうか?

  • ワード+エクセルのマクロ

    めぐみと申します。 ワード+エクセルのマクロのことで質問させて頂きます。 少し複雑ですみません。 ワードに書いてある単語をエクセルの中に記載されてある辞書(A列の単語→B列の単語)を置換したいです。 対象ファイル: 1.ディレクトリ内にあるワードファイルすべてのワードファイル 2.エクセルファイル  A列 検索対象の単語  B列 置換対象の単語 動作: エクセルのマクロを実行すると同じ階層にあるワードを探して、A列の単語の一覧を検索してB列に置換 エクセルのマクロを実行してワードのファイルの中の単語を変換するといった複雑なマクロは可能なのでしょうか? 恐れ入りますがご存じの方がいらっしゃいましたら教えて下さい。

  • 別のdocmファイルのマクロを使う方法

    docmファイルAとdocmファイルBを開いた状態で docmファイルA上でdocmファイルBのマクロを使いたいのですが 開発→マクロで表示されるマクロ一覧にdocmファイルB内のマクロが含まれていません。 docmファイルAを開いた状態で VBEを開き、緑三角の実行ボタンを押せば使うことができるのですが マクロ一覧から使用するためにはどうしたら良いでしょうか?

  • 『保存』のマクロを違う名前のファイルでも実行したい

    マクロ初心者です。 CSVファイルの数字の羅列をエクセル上に並べグラフにするマクロを作りました。 今度はそれをエクセルファイルとして保存したい。 見よう見まねで保存のマクロを作ってみましたが、 その際、このマクロを他のCSVファイルで実行しようとすると マクロを作ったファイル名に保存しようとします。 (例)Book1 で作ったマクロはBook2のファイルで同じマクロを実行するとBook1に保存しよう(上書き)とします。 これをその時開いて作業しているファイル名で自動的に保存させるには どうしたらいいのでしょうか? (例)Book1で作業してる時は保存名をBook1に、 Book2で作業しているときは保存名をBook2にしたい。 説明が下手で申し訳ありませんが、この様な事がマクロでできるのでしょうか?また、できるとすればどこをどのようにすればいいのでしょうか? 教えてください。よろしくお願いします。

  • エクセルでファイル名を任意のセルに入力するマクロを組むには?

    エクセルにて、マクロを実行すると、 ダイアログボックスが出てきて、ファイルを 選ぶと、そのファイル名が任意のセル (たとえばB10とか)に入力されるような マクロを組みたいのですが、うまくいきません。 しかも、そのファイル名についている拡張子なしで 入力されるようにしたいです。 どなたかご教授ください。

  • 別のファイルを閉じるマクロ

    マクロの素人なのですが、 例えばAとBというエクセルファイルを開いていて、 Aのファイル上で、Bを閉じるというマクロを作りたいです。 ただし、Bのファイル名は多数あります。 こんなものは出来ますでしょうか。よろしくお願い致します。

  • VBAで別のExcelブックのボタンのマクロ登録

    Excelブック1とExcelブック2があります。 Excelブック1はVBAで 1)Excelブック2を開いて 2)Excelブック1のワークシート(Sheet1)と  モジュールシート(Module1)を  Excelブック2にコピーします。 3)ワークシート(Sheet1)にはコントロール(ボタン)が貼り付けてあって  このボタンをクリックするとモジュールシート(Module1)の中の  Excute_Button()というプロシージャ(マクロ)を呼び出すため  Excelブック1のVBAで  wb.Worksheets("Sheet1").Shapes.Range(Array("Button 1")).Select  Selection.OnAction = "Excute_Button"  と記述してボタンのマクロの登録をします。   (wbはExcelブック2を指しています) 4)Excelブック2を保存して閉じる。 という処理をしています。 この後、Excelブック1を閉じて、 Excelブック2を開いてワークシート(Sheet1)のボタンをクリックすると Excelブック1が開いてしまいます。 Excelブック2のボタンのマクロの登録のマクロ名を見てみると Excelブック1のファイル名!Excute_Button となっています。 Excelブック1のVBAで、ここを単にExcute_Buttonだけにするには どのようにすればよいでしょうか。

専門家に質問してみよう