質問: access マクロをモジュールに変換した後の実行 こんにちは。 access 97 を独学で学んでいます。 初歩の初歩だと思うんですが、教えてください。 マクロ作成の例題で、電卓を起動するというのがありました。 アプリケーションの実行-電卓を開く コマンドライン-calc.exe とし、保存して閉じて、実行すると電卓が起動します。 そのマクロを、 ツール-マクロ-マクロをvbに変換 とすると、下記のようにモジュールに変換されます。 option compare database option explicit '------------------------------------------------- ' マクロ1 '------------------------------------------------- function マクロ1() call shell("calc.exe", 1) end function このモジュールを「デザイン」で開いて、「開始」等で実行することは出来ますが、開いていないときには「実行」ボタンがグレイアウトしています。 閉じた状態で「実行」するのって、どうするんですか?
回答: こんにちは。 #3 の greatdragon です。 > sub とfunction のちがいがわかりません(>_<) sub プロシージャは、記述したステートメントを実行するだけのシンプルなプロシージャっです。 function は、何らかの値を返すことが出来るプロシージャです。何でも構わないので関数を 思い浮かべてください。関数は何らかの計算などを実行してその結果を返してくれますよね。 function は俗に「ユーザー定義関数」と呼ばれています。 上記は一般的な説明ですが、下記は access のテクニック的な説明です。 恐らく?な箇所があると思います。ご質問のプロシージャは function ですが、値を返す記述が ありません。で、回答の #3 の 3 をご覧ください。 function ですと、イベントのボックスにプロシージャ名を記述できます。こうすることにより 複数のコントロールのイベントに共通のプロシージャとして記述できます。sub だと夫々のコントロール に個別にプロシージャを記述する必要があります。 このような説明でお分かりいただけたでしょうか?