- ベストアンサー
アクセス起動時にVBAを実行させるには?
テーブルのみのMDBファイルがあります。(フォームなし) このMDBファイルを開いたときにマクロ1を実行させるにはどうすればいいでしょうか? フォームやレホ゜ート以外にもイベントプロシージャーはあるのでしょうか? もしくは「起動時の設定」で「マクロ1を実行する」ことは可能ですか? よろしくお願い致します。(ヴァージョン2003)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 > 標準モジュールに ・・・すみません。 AccessよりExcel等の方に慣れている方の場合、「VBA=マクロ」と 思われることが多いというのを忘れていました(汗) データベースウィンドウ(テーブルやクエリ、フォームなどの一覧が表示 される画面)に、『マクロ』というのがあると思います。 そこで作成する方の『マクロ』で、VBAで組む『モジュール』とは別の ものになります。 そちらで、『AutoExec』という名前のマクロを作成してください。 ※添付画像は、『AutoExec』マクロのデザインビューの例になります。 (「マクロ1」がSubプロシージャの場合は、戻り値はなくても構わない のでとりあえずFunctionプロシージャに変更した上で、 『AutoExec』マクロの『アクション』欄に「プロシージャの実行」を 指定し、画面左下でそのプロシージャ名を指定します: 末尾に「()」(括弧)が必要だったはずなのでご注意のほど)
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
「Autoexec」または「AutoExec」という名前のマクロを作成すると、 そこに記述されたアクションが、起動時に自動的に実行される ようになります。 ですので、 a)マクロ1の内容をこちらに転記する b)マクロ1の名前を上記の名前に変える c)上記のマクロの『アクション』に「マクロの実行」を追加し、 その『マクロ名』引数に「マクロ1」を指定 のどれかやりやすい方法で対応すれば、Okです。 なお、『起動時の設定』と同様、Shiftキーを押しながら起動した 場合は、このマクロも無視されますので、併せて参考まで。
お礼
早速のご回答ありがとうございます。 しかしうまくいきません。 試しに、b)の方法で 標準モジュールに Sub AutoExec() MsgBox "test" End Sub としてみましたが 起動時に動きません。 何かおかしいでしょうか?
お礼
そっちのマクロですね! できました!できました! わざわざご丁寧にありがとうございます。