• ベストアンサー

ファイルを開いたと同時に、サブプロシージャーを実行

アクセスで、ファイルを開いたと同時に、サブプロシージャーを実行するには? AutoExecというマクロを作ったのですが、どういう条件を指定すればいいのかわかりません。 標準モジュールには、testというプロシージャーがあります。 アクセスファイルを開いたと同時に、testを実行させたい場合は、 「マクロの実行」を選べばいいのでしょうか? 実行回数や繰り返し条件式に何を入れればいいのでしょうか?

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

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

業務時間外になってからでは間に合いませんでしたが・・・(汗) 既にm3_makiさんから回答がある通り、『プロシージャの実行』 アクションではFunctionプロシージャしか実行できないので、 Public Sub test()   '処理内容の記述   '・・・ End Sub となっている場合は、 Public Function test()   '処理内容の記述   '・・・ End Function と修正した上で、マクロで「test()」と指定して下さい。 (なお、「Public」は省略可能ですが、そのモジュール以外  から呼出可能なことを明示するために、つけておいた方が  無難と思います) また、同名のSub/Functionが、他のモジュールにも存在する 場合は、マクロの『プロシージャ名』には「test()」ではなく、 「モジュール名.test()」とする必要がありますので、併せて参考まで。 (モジュール名が「Module1」の場合は、「Module1.test()」にする、と) 一応、過去のQ&Aも参考まで: http://okwave.jp/qa/q4995622.html

この投稿のマルチメディアは削除されているためご覧いただけません。
EHKIRKIZSPYO
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.3

「AutoExec」 マクロを作成し 「プロシージャの実行」アクション で test() を実行します。 ただし、「プロシージャの実行」 で 実行できるのは ファンクションプロシージャ のみです。 > ファイルを開いたと同時に、サブプロシージャーを実行 ということなら test を ファンクションプロシージャ に変更するか、 あるいは test を 呼び出すだけの ファンクションプロシージャ test1 を作成し 「AutoExec」 では、 test1() を実行するようにしてください。

EHKIRKIZSPYO
質問者

お礼

ありがとうございました。

回答No.2

データベースを開くときにアクションを実行する(AutoExecマクロ) http://www.moug.net/tech/acopr/0010001.html

EHKIRKIZSPYO
質問者

お礼

ありがとうございました。

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

> 標準モジュールには、testというプロシージャーがあります。 標準モジュールに記述したプロシージャをマクロから実行する場合は、 『マクロの実行』アクションではなく『プロシージャの実行』アクションを 指定します。 手元のAccess2007で確認した限りでは、引数は「プロシージャ名」 のみと思いますので、そこに「test()」と指定してやればOkです。 (testプロシージャに引数がある場合は、上記の「()」の中に指定して  やります。引数がない場合も、「()」だけはつけてやってください) ※少なくともAccess2007までは、ここでのプロシージャの引数には  「vbOk」のような、VBAなどで定義された定数は指定できません  でしたので、Access2010以降も同様の可能性が高いと思います。  その場合は、ここには「1」などの値を直接指定してやればOkです。  (定数の実際の値は、Ctrl+Gキーの同時押しなどで開く  『イミディエイト ウィンドウ』で、「?vbOK」と入力してEnterキーを  押してやると、次の行に表示されるので、そこで確認できます) 以下のQ&Aで、質問者の方が添付された画像も参考に: (ドロップダウンリストの最上位に「プロシージャの実行」があります) http://okwave.jp/qa/q8011562.html

EHKIRKIZSPYO
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう