Q質問

エクセルのマクロを記述した外部ファイルを作成しておいて
メイン(普通)のマクロの実行中にそのファイルを読み込んで、
マクロを実行させることは可能でしょうか?
可能なら方法をお願いします。

A 回答 (4件)

> そして、excel_macro.txt のファイルに
> 以下のように記述したいのです。
> Range("B2").Select
> ActiveCell.FormulaR1C1 = "abc"
> Range("B3").Select

C は良くわかりませんが、Perl や PHP でもコードの重複部分を共通化
するため、その部分だけを外部ファイル(include ファイル)にするのは、
良く使われる手法ですよね。

結論から言えば、残念ながらこの用途で include ファイルを扱うことは
VBA を含め VB では仕様上不可能です。

ご質問を拝見する限り、関数化(サブプロシージャ化)で対応できそうな
気がしますが、それではダメなのですか?


過去の Office では VBA で VBA のコードを書くことが可能だったので、

 1. 外部テキストを読み込み
 2. 一時モジュールを追加
 3. 元のコードに読み込んだコードを追加し、プロシージャを書き出し
 4. 書き出されたプロシージャ実行
 5. 実行後一時モジュールを削除

みたいな流れでできたかもしれません、、、

 # 実際にやったことはありません。

しかし、現在ではセキュリティー上の理由で VBA から VBA のプロジェクト
にアクセスすることが禁止されてしまいました。

つまり、VBA では個々のプロシージャにおいて重複する部分があったと
しても、それぞれにきちんと書くか、これが非効率なのであれば、クラス
や標準モジュールでサブプロシージャにするしか方法はなさそうです。

    • good
    • 0

この回答へのお礼

ありがとうございます。

お礼日時:2006/06/03 18:05

アドイン?かな
Excelでユーザー定義関数をアドインとして提供する
http://www.atmarkit.co.jp/fwin2k/win2ktips/471fu …

Excelでお仕事
http://www.asahi-net.or.jp/~ef2o-inue/haifu/sub0 …

    • good
    • 0

この回答へのお礼

ありがとうございます。
参考になりました。

お礼日時:2006/06/03 18:04

外部ファイルって、それもエクセルですよね?
Workbooks.Open "C:\Book1.xls"
Application.Run "Book1.xls!test"
こんな感じで出来ると思います。
Book1.xlsのtestというモジュールを実行します。

    • good
    • 0

この回答へのお礼

ありがとうございます。
このやり方で出来ました。

お礼日時:2006/06/03 18:04

もう少し詳しく説明した方が、回答がもらいやすいですよ。

外部ファイルとは?

推測で回答すると、マクロとあるので Excel のブックのことかな?
なら Run メソッドですかね、、、

手順としては、

 1. Workbooks.Open("ブックのフルパス") でそのファイルを開く
 2. Application.Run("ブック名!マクロ名,引数1,引数2,....,引数30)
   でマクロを実行

   Run メソッドについて VBA のヘルプを参照して下さい。

です。

外部ファイルとは「マクロが記述されたテキストファイル」というのは
あまり想像したくない、、

この回答への補足

いいえ、違います。
普通のマクロの所に
以下の様に記述(C言語を例に取ると)

Sub Macro1()
#include "excel_macro.txt"
End Sub

そして、excel_macro.txt のファイルに
以下のように記述したいのです。

Range("B2").Select
ActiveCell.FormulaR1C1 = "abc"
Range("B3").Select

理由は、複数のマクロで
全く同じプログラムが数行に渡ってあるので、
その全く同じプログラムの部分を、
外部ファイルとして一箇所にまとめて
呼び出すようにしたいのです。

補足日時:2006/06/02 22:28
    • good
    • 0

この回答へのお礼

ありがとうございます。
このやり方で出来ました。

お礼日時:2006/06/03 18:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

注目の記事

縦書きと横書きはどちらが読みやすい?

普段何気なく読んでいる文章ですが、縦書きか横書きか、意識したことはありますか?制作側としては読み手はどちらの方が読みやすいと思うかはとても大きな問題です。教えて!gooには、 「『横書き』と『縦書き』、...

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報