• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBA 定数宣言を外部ファイルで)

ExcelVBA 定数宣言を外部ファイルで

このQ&Aのポイント
  • ExcelVBAで大量の定数宣言を行う際、外部ファイルを使用する方法について教えてください。
  • プログラミングでは同じ値でも異なる意味を持つ場合があります。Constを多用して意味を明確にしたいのですが、大量のConst宣言行列がプログラムを複雑にしてしまいます。
  • VB初心者のため、外部ファイルからの定数宣言方法がわかりません。どのようにすれば大量のConst宣言を防ぐことができるでしょうか?

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

  • ベストアンサー
回答No.3

外部ファイルで定数宣言して使いたい場合は、 標準モジュールにconstなりを書いていけば、ご希望の事はできます。 別野Excelでも使いたい場合は、 VBA画面のプロジェクトウィンドウで、他で使いたいファイルを右クリックして ファイルのエクスポートを選べば、ファイルとして出力できます。 参考:http://officetanaka.net/excel/vba/tips/tips112.htm で、前回も書いたenumですが、わかりやすそうな解説をしてくれているHPをあげておきます。 http://www.moug.net/tech/exvba/0150119.html http://excel-ubara.com/excelvba/EXCELVBA409.html 同じくenum関係ですが、元々定義されているenumです。 http://ameblo.jp/make-excel/theme-10038431414.html

Nouble
質問者

お礼

有り難うございます、 ちょっと見てみます。

Nouble
質問者

補足

その他の回答 (3)

回答No.4

補足で書かれたURL(http://d.hatena.ne.jp/language_and_engineering/20090731/p1) (2)便利な方法(テキスト形式) が、使い回しするのには一番良いですね。 そのページにも書いてありますが、テキスト形式で管理できるのでメモ帳でも修正ができますし。

Nouble
質問者

お礼

個々ではオープンイベントで読み込んでいるように思うのですが、 主モジュール処理が開始して後に、その構文内で指定し インクルード(?)することも可能なのでしょうか? あと、 オープンイベントでソースコードをインクルードし そのままセーブすると、 インクルード状態が保存されるのでしょうか? もし仮にそうだとすると条件式でインクルード済みか判定しなければならず、 未インクルード状態を保たせる手間が出ちゃいますよね。 滝汗な感じします。(滝汗) (||| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ー ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄;)アウッ (※:http://www.facemark.jp/f-ase.htm より引用)

回答No.2

たしかに Enum で定義した所で行数は減らないですね(^^; でも、関数の戻り値や変数定義の型として使えるので、Enumの方が便利かな~と あと、DLL化はExcelだけでは無理だから... Visual Studio .NET等でDLLとして作るしかないですね。

Nouble
質問者

お礼

ひょとして構造体って奴ですか? 定数宣言だけでなく 初期値付き変数の宣言も できるみたいな感じですね。 ところで本題の、外部ファイルのお話ですけど 何とか追加アプリケーション無しで 読み込みファイルが作れない物でしょうか? 例えばテキストエディッタなどでできちゃうと 助かるのですが… 後、変数の入れ物を 定数に見せかけて使うのは 出来れば避けたいのですが… VBAの場合は書き換えができちゃいますよね… ? ご教示をお願い致します。

回答No.1

意味づけをするならば Enum で定義した方が良いのでは? さらに それがDLL となっていれば 汎用的に使えるでしょう。 (Excel等からは参照設定で追加できて便利だし)

Nouble
質問者

お礼

お心砕き有り難うございます。 >…らば Enum で定義し… 面白いですねこれ でもこれ言って良いかどうか… 行数減らなくない? (^_^)滝汗 >…れがDLL となっ… 非常に興味深いです、 思わずカプッ と食いついちゃいます。 正に入れ食いです。 (汗) DLL化はどうやるのですか?

関連するQ&A