• ベストアンサー

c言語で言うところの #define

スミマセン。教えていただきたいことがあります。 c言語はいくらか経験あるのですが、visual basic 2005 はまったくの初心者です。 visual basic には c言語で言うところの定義マクロプリプロセッサ#define の様な機能はあるのでしょうか? 無い場合、どんな感じで代用していますか? よろしくお願いします。

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

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.2

ANo.1さんのおっしゃるとおり、数値や文字列なら const を使います。 ただ、Cの#define本来の機能を持ったマクロはないので、 本来の意味での代用はありません。 #define COMPUTE(a,b) (a+b*10) のような事はできないので、普通に関数を書きます。 むしろ、「C言語の#defineの方が関数や定数記述の代用」なので 本来の書き方をすると考えた方がよろしいでしょう。

psychesine
質問者

お礼

ありがとうございます。

その他の回答 (2)

回答No.3

#defineに関わらず、マクロの展開はC言語依存ではなく、プリプロセッサが処理しています。 プリプロセッサは、単なるテキスト処理系なので、Visual BASICのソースでも利用可能です。 面倒かもしれませんが、ソースをテキスト形式で保存して、コマンドラインから > cpp ファイル名.bas とでもしてみてください。そして、結果をVisual BASICに戻せばいいでしょう。 Cのプリプロセッサがなければ、フリーのC言語をダウンロードしましょう。 Borland、LSI-Cあたりなら、大丈夫だと思います。 ちなみに、C言語では、プリプロセッサ、コンパイラ、アセンブラ、リンカを順番に処理していき、それを1コマンドで済ますようにドライバとしてコマンドを実行します。 有名どころではUNIXのcc、GNU compiler collectionのgcc、Borland C++のbccがあります。

psychesine
質問者

お礼

ありがとうございます

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

例えば、 Global Const SelectYes = True Global Const SelectNo = False みたいな…。

psychesine
質問者

お礼

ありがとうございます 試してみます。