• ベストアンサー

Accessのマクロの保存で・・・

今月から社内でヘルプデスクをやらされることになってしまいました。 (Accessはほぼ初心者なんですが、他のオフィス製品は出来るという理由で) すごくしょうもない質問かもしれませんがどうぞよろしくお願いします。 マクロを保存するときに、「アクション」を設定した後、これまで1つ1つ「名前をつけて保存」をしていました。(学習をしたテキストでそのように学習したので) でも、ある時「アクション」欄の左側に「マクロ名」というフィールドを表示して、そこでまとめて(たとえば10のマクロ)保存をしている人を見ました。 私は「マクログループ」の時はそうやりましょう!みたいに覚えているのですが、特に関連したマクロでなくても、そうやって作っても問題ないのでしょうか? また、不具合があるとするとどういった時でしょうか?

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

>特に関連したマクロでなくても、そうやって作っても問題ないのでしょうか? 複数の関連するマクロを自動的に実行させるための仕組みなので関連していないマクロまでグループに入れると実行されてしまいます。 マクログループのマクロを実行すると他のマクログループに到達するかすべての実行が完了するまで最初のアクションから順番にマクロが実行されます。 ので関連のないマクロをグループに入れることは問題ありだと思います。 実行されても問題ないようなマクロであれば良いかもしれませんが必要でないマクロまで実行させる意味があるのかという事です。 >不具合があるとするとどういった時 グループ内のマクロが実行する際に関連のないマクロも実行させ他のマクロの実行に支障が出る場合。

kunikunichan
質問者

お礼

早々のお返事ありがとうございます。 やはり「基本」は別々に保存させる・・・ということでいいのですね。 多分、今回、1つのマクロ名で保存していても「問題がない」のだったんだと思います。 お世話になりました。

その他の回答 (1)

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

> 特に関連したマクロでなくても、そうやって作っても問題ないのでしょうか? マクロの実行上は、特に支障はないと思います。 私の場合、複数のコマンドボタンをもつメニュー画面用の各コマンドボタンの マクロは、異なるマクロ名をつけて1つのマクロ内に一括保存しています。 (各画面のイベントマクロ1つ1つを「マクロ名」列を使わずに個別保存すると、  マクロの数があまりに多くなり、わかりにくくなってしまう気がするので・・・) 例えば、メニュー画面に「入力」「参照」「終了」の各ボタンがあり、 「対象」オプショングループ(「人(オプション値=1)」「物(同=2)」)がある場合、 マクロ名  条件    アクション ○入力  対象=1  フォームを開く(MF1_人,入力モード)        対象=2  フォームを開く(MF2_物,入力モード) ○参照  対象=1  フォームを開く(MF1_人,参照モード)        対象=2  フォームを開く(MF2_物,参照モード) ○終了  Msg=Yes コマンドの実行(アプリケーションの終了) ・・・といったように、ひとつにまとめて保存してしまいます。 また仮に、「○入力」マクロで、既存データ参照用の別フォームを同時に 開く必要がある場合などは、アクションを「マクロの実行」として、 「MF1_人」フォームと「MF3_人」フォームを開く「入力_人」マクロを 同じマクロに保存します。 マクロ名  条件    アクション ○入力  対象=1  マクロの実行(入力_人)        対象=2  フォームを開く(MF2_物,入力モード) 入力_人        フォームを開く(MF1_人,入力モード)              フォームを開く(MF3_人,参照モード) ○参照  対象=1  フォームを開く(MF1_人,参照モード)        対象=2  フォームを開く(MF2_物,参照モード) ○終了  Msg=Yes コマンドの実行(アプリケーションの終了) ひとつのマクロにまとめるかどうかは、後でメンテナンスをするときに わかりやすい方を選べばよいのではないかと思います。

kunikunichan
質問者

お礼

細かい例をあげてご説明いただいてありがとうございます。 「いけない」わけではないが、きちんと「考えて」作成する必要がある・・・ということですよね。 (どのアプリでも言えますが) 少しだけわかった気がします。 お世話になりました。

関連するQ&A

専門家に質問してみよう