- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ACCESS2003 標準モジュールCALLについて)
ACCESS2003 標準モジュールCALLについて
このQ&Aのポイント
- ACCESS2003で標準モジュールの呼び出しについて調査しています。
- 標準モジュールの名前はTESTで、呼び出すサブルーチン名はAAです。
- 具体的な命令の記述方法や必要な設定について、既出の文献を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こちらが参考になるでしょう。 http://www.accessclub.jp/bbs3/0346/superbeg104200.html
その他の回答 (1)
- noah7150
- ベストアンサー率46% (116/251)
回答No.1
関数名を文字列で指定するのはまず無理 VBA言えど実行前には構文のチェックや変数のためのメモリー確保を行い実行されています 関数の基本動作からすると呼び出されるとき括弧内に書かれた引数をスタック領域に格納し 関数の先頭アドレスに実行権を移します しかし現状の構文なら関数の先頭アドレスは持っていません あくまで文字列です また、今回のサンプルは引数を持ちませんがVBAには分からないことです これがC等のポインターで実行されるプログラムならそれなりの書き方も出来ますが しかしVBAでは出来ないと考えたほうが良いと思われます。 確かにデータの内容にCALLしたい関数を変えたい、値が1ならSub1、2ならSub2、AならSubA などの様に しかし想定外の文字がセットされていた場合などCALLすべきアドレスがありません どうしても実行したいなら Select Case Dat1 Case "1": Call Sub1() Case "2": Call Sub2() Case "A": Call SubA() Case Else: Call SubZ() End Select と記述するしかないと思われます。
お礼
ありがとうございます。 探していた方法が見つかりました。