• ベストアンサー

アクセス起動時にVBAを実行させるには?

テーブルのみのMDBファイルがあります。(フォームなし) このMDBファイルを開いたときにマクロ1を実行させるにはどうすればいいでしょうか? フォームやレホ゜ート以外にもイベントプロシージャーはあるのでしょうか? もしくは「起動時の設定」で「マクロ1を実行する」ことは可能ですか? よろしくお願い致します。(ヴァージョン2003)

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.2

No.1です。 > 標準モジュールに ・・・すみません。 AccessよりExcel等の方に慣れている方の場合、「VBA=マクロ」と 思われることが多いというのを忘れていました(汗) データベースウィンドウ(テーブルやクエリ、フォームなどの一覧が表示 される画面)に、『マクロ』というのがあると思います。 そこで作成する方の『マクロ』で、VBAで組む『モジュール』とは別の ものになります。 そちらで、『AutoExec』という名前のマクロを作成してください。 ※添付画像は、『AutoExec』マクロのデザインビューの例になります。  (「マクロ1」がSubプロシージャの場合は、戻り値はなくても構わない   のでとりあえずFunctionプロシージャに変更した上で、   『AutoExec』マクロの『アクション』欄に「プロシージャの実行」を   指定し、画面左下でそのプロシージャ名を指定します:   末尾に「()」(括弧)が必要だったはずなのでご注意のほど)

rieury
質問者

お礼

そっちのマクロですね! できました!できました! わざわざご丁寧にありがとうございます。

その他の回答 (1)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

「Autoexec」または「AutoExec」という名前のマクロを作成すると、 そこに記述されたアクションが、起動時に自動的に実行される ようになります。 ですので、  a)マクロ1の内容をこちらに転記する  b)マクロ1の名前を上記の名前に変える  c)上記のマクロの『アクション』に「マクロの実行」を追加し、   その『マクロ名』引数に「マクロ1」を指定 のどれかやりやすい方法で対応すれば、Okです。 なお、『起動時の設定』と同様、Shiftキーを押しながら起動した 場合は、このマクロも無視されますので、併せて参考まで。

rieury
質問者

お礼

早速のご回答ありがとうございます。 しかしうまくいきません。 試しに、b)の方法で 標準モジュールに Sub AutoExec() MsgBox "test" End Sub としてみましたが 起動時に動きません。 何かおかしいでしょうか?

関連するQ&A