Access 2007 マクロの基本

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。簡単に参照できるように、こちらに英語の記事があります。

この記事では、頻繁に実行するタスクを自動化することで、マクロとその時間を節約する方法について説明します。マクロの作成と使用の背後にある基本を探り、 Microsoft Office Access 2007のマクロの改善にも触れます。

この記事の内容

マクロとは何ですか?

マクロを理解する

Office Access 2007 の新しいマクロ機能

マクロを作成する

マクロを実行する

マクロとは何ですか?

マクロは、タスクを自動化し、フォーム、レポート、コントロールに機能を追加できるようにするためのツールです。たとえば、フォームにコマンドボタンを追加すると、ボタンのOnClickイベントがマクロに関連付けられます。このマクロには、ボタンをクリックするたびに実行するコマンドが含まれています。

Access では、実行するアクションのリストを作成することによって、記述する簡略化されたプログラミング言語としてマクロを考えると便利です。マクロを作成する場合は、ドロップダウンリストから各アクションを選択し、各アクションに必要な情報を入力します。マクロを使用すると、Visual Basic for アプリケーション (VBA) モジュールでコードを記述しなくても、フォーム、レポート、コントロールに機能を追加することができます。マクロは、vba で使用できるコマンドのサブセットを提供しますが、ほとんどのユーザーは、vba コードを記述するよりもマクロを簡単に作成することができます。

たとえば、1つのデータ入力フォームから直接レポートを開始する場合を考えます。フォームにボタンを追加し、レポートを開始するマクロを作成することができます。マクロは、スタンドアロンマクロ (データベース内の別のオブジェクト) にすることができます。その後、ボタンのonclickイベントにバインドされるか、 Office Access 2007の新しい機能である button 自体のonclickイベントに直接マクロを埋め込むことができます。 いずれの方法でも、ボタンをクリックすると、マクロが実行され、レポートが開始されます。

マクロは、次の図に示すマクロ ビルダーを使用して作成します。

マクロ ビルダー

マクロビルダーを表示するには、次の操作を行います。

  • [作成] タブの [その他] グループで、[マクロ] をクリックします。このコマンドが使用できない場合は、[モジュール] または [クラスモジュール] ボタンの下にある矢印をクリックし、[マクロ] をクリックします。 ボタン イメージ

    ヒント: access 2010 でマクロビルダーが再設計され、access マクロの作成、変更、共有がさらに簡単になりました。

ページの先頭へ

マクロを理解する

マクロという用語は、多くの場合、スタンドアロンマクロオブジェクト (つまり、ナビゲーションウィンドウの [マクロ] の下に表示されるオブジェクト) を参照するために使われますが、実際には、1つのマクロオブジェクトに複数のマクロを含めることができます。その場合は、マクログループと呼ばれます。マクログループは、ナビゲーションウィンドウに1つのマクロオブジェクトとして表示されますが、マクログループには複数のマクロが含まれています。もちろん、別のマクロオブジェクトに各マクロを作成することはできますが、多くの場合、関連する複数のマクロを1つのマクロオブジェクトにグループ化することは理にかなっています。[マクロ名] 列の名前は、各マクロを識別します。

マクロは、個々のマクロアクションで構成されます。ほとんどの操作では、1つ以上の引数が必要です。さらに、マクログループ内の各マクロに名前を割り当てることができます。また、条件を追加して、各アクションの実行方法を制御することもできます。次のセクションでは、これらの各機能について詳しく説明します。

マクロ名

マクロオブジェクトにマクロが1つだけ含まれている場合、マクロ名は不要です。マクロを参照するには、マクロオブジェクトの名前を使用するだけです。ただし、マクログループの場合は、各マクロに一意の名前を割り当てる必要があります。マクロビルダーで [マクロ名] 列が表示されていない場合は、[デザイン] タブの [表示/非表示] グループの [マクロ名 ボタン イメージ ] をクリックします。マクログループでマクロを実行する方法の詳細については、この記事の後半に記載されています。

引数

引数は、メッセージボックスに表示される文字列、操作するコントロールなどのアクションに情報を提供する値です。いくつかの引数が必要であり、その他は省略可能です。引数は、マクロビルダーの下部にある [アクションの引数] ウィンドウに表示されます。

アクションの引数を入力する

Office Access 2007マクロビルダーの新機能は、引数列であり、アクションと同じ行にあるアクションの引数を表示できます (ただし、編集はできません)。これにより、引数を表示するために各アクションを選択する必要がなくなったため、マクロを読みやすくなります。[引数] 列を表示するには、[デザイン] タブの [表示/非表示] グループの [引数 ボタンの画像 ] をクリックします。

条件

条件は、アクションが実行される前に満たす必要がある特定の条件を指定します。True/False または Yes/No と評価される任意の式を使うことができます。式が False、No、または 0 (ゼロ) と評価された場合、アクションは実行されません。式が他の値として評価された場合、そのアクションを実行します。

条件を適用する後続の各アクションの [条件] 列に省略記号 (...) を入力することによって、1つの条件に複数の操作を制御させることができます。式が False、No、または 0 (ゼロ) と評価された場合、いずれの操作も行われません。条件が他の値に評価された場合は、すべての操作を実行します。

マクロビルダーの [条件] 列を表示するには、[デザイン] タブの [表示/非表示] グループで、[条件 ボタン イメージ ] をクリックします。

アクションの実行に使用する式

場合

[都道府県]="大阪府"

マクロが実行されるフォームの [住所] フィールドの値が "大阪府" のとき。

DCount ("[受注コード]", "注文") > 35

"受注" テーブルの "受注コード" フィールドに 35 を超えるエントリがあるとき。

DCount ("*", "受注明細", "[受注コード] = Forms! [受注]![受注コード] ") > 3

[受注明細] テーブルには3つを超えるエントリがあり、テーブルの "受注コード" フィールドは [注文] フォームの [受注コード] フィールドと一致します。

出荷日2006年2月 #2 日の間 # と #2-2006 年3月 #

マクロが実行されるフォームの出荷日フィールドの値は、2-feb-2006 より前であり、2 ~ 03-2006 より後ではありません。

フォーム![製品]![在庫] < 5

"商品リスト" フォームの "梱包単位" フィールドの値が 5 未満のとき。

IsNull([担当者])

マクロが実行されるフォームの [姓] の値はnullです (値はありません)。この式は、[姓] と同じですが、Null です。

[国/地域] = "UK" と Forms![SalesTotals]![TotalOrds] > 100

マクロが実行されるフォームの [国/地域] フィールドの値が UK であり、SalesTotals フォームの TotalOrds フィールドの値が100を超えています。

[国/地域]In ("フランス", "イタリア", "スペイン") と Len ([PostalCode]) < > 5

マクロが実行されるフォームの [国/地域] フィールドの値は、フランス、イタリア、またはスペインで、郵便番号は5文字ではありません。

MsgBox("変更確認",1)=1

ダイアログボックスで [ OK ] をクリックすると、 MsgBox関数によって "changes? の確認" が表示されます。ダイアログボックスで [キャンセル] をクリックすると、操作は無視されます。

[一時]![MsgBoxResult] = 2

メッセージボックスの結果を格納するために使用されるテンポラリ変数は、2 (vbCancel = 2) と比較されます。

ヒント: アクセスが一時的に操作をスキップするようにするには、条件として False を入力します。一時的に操作をスキップすると、マクロのトラブルシューティングを行うときに便利です。

マクロアクション

アクションは、マクロの基本的な文書パーツです。Access では、さまざまな種類のコマンドを有効にして、選択する操作が多数用意されています。たとえば、よく使われるアクションの中には、レポートを開いたり、レコードを見つけたり、メッセージボックスを表示したり、フォームまたはレポートにフィルターを適用したりすることができます。

ページの先頭へ

Office Access 2007の新しいマクロ機能

以前のバージョンの Access では、VBA コードを記述しなくても、よく使われる多くの関数を実行できませんでした。Office Access 2007では、コードの必要性をなくすために、新しい機能とマクロアクションが追加されました。これにより、データベースに機能を追加しやすくなり、より安全にすることができます。

  • 埋め込ま   れたマクロこれで、フォーム、レポート、またはコントロールによって提供されるすべてのイベントにマクロを埋め込むことができるようになりました。埋め込まれたマクロはナビゲーションウィンドウに表示されません。これは、フォーム、レポート、またはコントロールが作成されたときの一部になります。埋め込まれたマクロを含むフォーム、レポート、またはコントロールのコピーを作成した場合、そのコピーにもマクロが表示されます。

  • 増加した [セキュリティ   ] マクロビルダーで [すべてのアクションを表示する ボタン イメージ ] ボタンが強調表示されていない場合、使用可能なマクロアクションとコマンド引数は、信頼できる状態を実行する必要がないものだけです。これらのアクションを使用して作成されたマクロは、データベースが無効になっている場合 (VBA の実行が禁止されている場合) でも実行できます。信頼できるリストにないマクロアクションを含むデータベース、または VBA コードが含まれているデータベースには、信頼された状態を明示的に付与する必要があります。

  • エラー処理とデバッグ   Office Access 2007には、マクロの実行中にエラーが発生したときに特定の操作を実行できるようにする、クリア "(VBA の" On Error "ステートメントに似た) などの新しいマクロアクションが用意されています。さらに、新しい"マクロアクションを使用すると、マクロの任意の時点でシングルステップモードを入力できます。これによって、マクロが一度に1つの操作をどのように動作するかを確認できます。 

  • 一時的な変数   3つの新しいマクロアクション (SetTempVar"RemoveAllTempVars) を使用すると、マクロで一時的な変数を作成して使うことができます。これらの条件式を使用して、実行中のマクロを制御したり、レポートやフォームとの間でデータを渡したりすることができます。または、値の一時的な格納場所を必要とするその他の目的に使うことも可能です。これらの一時的な変数は、vba でもアクセシビリティが高いため、vba モジュールとの間でデータをやり取りするために使うこともできます。

ページの先頭へ


マクロを作成する

Office Access 2007では、マクロまたはマクログループをマクロオブジェクト (スタンドアロンマクロとも呼ばれます) に含めることができます。または、フォーム、レポート、またはコントロールの任意のイベントプロパティにマクロを埋め込むことができます。埋め込まれたマクロは、埋め込まれたオブジェクトまたはコントロールの一部になります。スタンドアロンマクロは、[マクロ] の下のナビゲーションウィンドウに表示されます。埋め込まれたマクロはありません。

マクロビルダーの機能

スタンドアロン マクロを作成する

マクログループを作成する

埋め込みマクロを作成する

例: レポートの [いいえ] データイベントにマクロを埋め込む

マクロを編集する

マクロアクションの詳細

マクロビルダーの機能

マクロビルダーを使用して、マクロを作成して変更します。マクロビルダーを開くには、次の操作を行います。

  • [作成] タブの [その他] グループで、[マクロ] をクリックします。このコマンドが使用できない場合は、[モジュール] または [クラスモジュール] ボタンの下にある矢印をクリックし、[マクロ] をクリックします。 ボタン イメージ

    Access によってマクロビルダーが表示されます。

マクロビルダーを使用して、マクロの実行時に実行するアクションのリストを作成します。マクロビルダーを初めて開くと、[アクション] 列、[引数] 列、[コメント] 列が表示されます。

[アクションの引数] で、必要に応じて各マクロアクションの引数を入力して編集します。各アクションまたは引数の簡単な説明を示す [説明] ボックスが表示されます。アクションまたはアクションの引数をクリックして、ボックス内の説明を読み上げます。

次の表は、マクロビルダーの [デザイン] タブで使用できるコマンドを示しています。

グループ

コマンド

説明

ツール   

実行する   

マクロに一覧表示されている操作を実行します。

シングルステップ   

シングルステップモードを有効にします。このモードでマクロを実行すると、各操作が一度に1つずつ実行されます。各操作が完了すると、[マクロのシングルステップ] ダイアログボックスが表示されます。次の操作に進むには、ダイアログボックスの [ステップ] をクリックします。[すべてのマクロを停止する] をクリックして、その他の実行中のマクロを停止します。[続行] をクリックして、シングルステップモードを終了し、停止せずに残りの操作を実行します。

ビルダー   

式を含むことができるアクションの引数を入力すると、このボタンが有効になります。[ビルダー ] をクリックして [式ビルダー ] ダイアログボックスを開き、式の作成に使うことができます。

   

行を挿入する   

選択した行または行の上に1つ以上の空白のアクション行を挿入します。

行を削除する   

選択したアクションの行または行を削除します。

[表示/非表示]   

すべての操作を表示する   

[アクション] ドロップダウンリストに表示されるマクロアクションの数を増減します。

  • マクロアクションの長いリストを表示するには、[すべてのアクションを表示] をクリックします。マクロアクションの長いリストが使用可能になったら、[すべての操作を表示] ボタンが選択された状態になります。このマクロアクションの長いリストからマクロアクションを選択した場合は、アクションを実行する前に、データベースの明示的な信頼状態を付与する必要がある場合があります。

  • マクロアクションの長いリストから、信頼されていないデータベースで使用できるマクロアクションのみを表示する短いリストに切り替えるには、[すべての操作を表示] ボタンが選択されていないことを確認します。

    ヒント: [すべての操作を表示] ボタンが選択されている場合は、[すべてのアクションを表示] ボタンをクリックして選択を解除します。

    [すべての操作を表示] ボタンが選択されていない場合は、信頼できるマクロアクションの短いリストを使用できます。

マクロ名   

[マクロ名] 列の表示と非表示を切り替えます。マクログループ内のマクロ名は、個々のマクロを区別するために必要ですが、それ以外のマクロ名は省略可能です。詳細については、この記事の後半の「マクログループを作成する」を参照してください。

条件   

条件列を表示または非表示にします。この列を使用して、アクションを実行するタイミングを制御する式を入力します。

引数   

[引数] 列を表示または非表示にします。この列には、マクロアクションごとの引数が表示され、マクロを読みやすくなります。[引数] 列が表示されていない場合は、各アクションをクリックして、[アクションの引数] の下の引数を読み上げる必要があります。引数列には引数を入力できません。

セクションの先頭へ

スタンドアロン マクロを作成する

  • [<ui>作成</ui>] タブの [<ui>その他</ui>] グループで [<ui>マクロ</ui>] をクリックします。このコマンドを使用できない場合は、[<ui>モジュール</ui>] または [<ui>クラス モジュール</ui>] ボタンの下にある矢印をクリックして、[<ui>マクロ</ui>] をクリックします。

  • マクロビルダーが表示されます。

  • マクロにアクションを追加します。

    1. マクロビルダーで、[アクション] 列の最初の空のセルをクリックします。

    2. 使用する操作を入力するか、矢印をクリックして操作の一覧を表示し、使用する操作を選択します。

    3. [アクションの引数] で、必要に応じて、アクションの引数を指定します。各引数の簡単な説明を表示するには、[引数] ボックス内をクリックし、引数の右側にある説明を読みます。
      ヒント

      • 設定がデータベースオブジェクト名であるアクション引数の場合は、ナビゲーションウィンドウからアクションの [オブジェクト名] 引数ボックスにオブジェクトをドラッグして、引数を設定できます。

      • また、ナビゲーションウィンドウからデータベースオブジェクトをマクロビルダーの空の行にドラッグして、アクションを作成することもできます。テーブル、クエリ、フォーム、レポート、またはモジュールをマクロビルダーにドラッグすると、テーブル、クエリ、フォーム、またはレポートを開くアクションが追加されます。マクロをマクロビルダーにドラッグすると、マクロを実行するアクションが追加されます。

    4. 必要に応じて、アクションのコメントを入力します。

  • その他のアクションをマクロに追加するには、別のアクション行に移動し、手順2を繰り返します。Access では、リストに記載されている順序でアクションが実行されます。

セクションの先頭へ

マクログループを作成する

複数の関連するマクロを1つのマクロオブジェクトにグループ化する場合は、マクログループを作成できます。

  • [<ui>作成</ui>] タブの [<ui>その他</ui>] グループで [<ui>マクロ</ui>] をクリックします。このコマンドを使用できない場合は、[<ui>モジュール</ui>] または [<ui>クラス モジュール</ui>] ボタンの下にある矢印をクリックして、[<ui>マクロ</ui>] をクリックします。

  • マクロビルダーが表示されます。

  • [デザイン] タブの [表示/非表示] グループで、[マクロ名 ボタン イメージ ] がまだ選択されていない場合はクリックします。マクロビルダーに [マクロ名] 列が表示されます。

    注: マクログループでは、マクロ名は個々のマクロを識別するために必要です。マクロ名は、マクロの最初の操作と同じ行に表示されます。マクロの後続の操作については、[マクロ名] 列は空白のままになります。マクロは、[マクロ名] 列の次のエントリで終了します。

  • [マクロ] 列に、マクログループの最初のマクロの名前を入力します。

  • 最初のマクロを実行するアクションを追加します。

    1. [アクション] 列で、矢印をクリックしてアクションリストを表示します。

    2. 追加する操作をクリックします。

    3. [アクションの引数] で、必要に応じて、アクションの引数を指定します。各引数の簡単な説明を表示するには、[引数] ボックス内をクリックし、引数の右側にある説明を読みます。
      ヒント

      • 設定がデータベースオブジェクト名であるアクション引数の場合は、ナビゲーションウィンドウからアクションの [オブジェクト名] 引数ボックスにオブジェクトをドラッグして、引数を設定できます。

      • また、ナビゲーションウィンドウからデータベースオブジェクトをマクロビルダーの空の行にドラッグして、アクションを作成することもできます。テーブル、クエリ、フォーム、レポート、またはモジュールをマクロビルダーにドラッグすると、テーブル、クエリ、フォーム、またはレポートを開くアクションが追加されます。マクロをマクロビルダーにドラッグすると、マクロを実行するアクションが追加されます。

    4. 必要に応じて、アクションのコメントを入力します。

  • 次の空の行の [マクロ名] 列に移動し、マクログループ内の次のマクロの名前を入力します。

  • マクロで実行するアクションを追加します。

  • グループ内の各マクロについて、手順5と6を繰り返します。

注: 

  • ナビゲーションウィンドウでマクログループをダブルクリックするか、[デザイン] タブの [ツール] で [ ボタン イメージ実行] をクリックすると、最初のマクロのみが実行され、2番目のマクロ名に到達したときに停止します。

  • マクログループを保存すると、指定した名前がマクロのグループ全体の名前になります。この名前は、ナビゲーションウィンドウの [マクロ] の下に表示されます。マクログループ内の個々のマクロを参照するには、次の構文を使用します。

    マクロマクロ

    たとえば、ボタン. 製品は、[ボタン] マクログループの [製品] マクロを参照します。RunMacroアクションのマクロ名引数リストなどのマクロの一覧で、[製品] マクロがボタンとして表示されます。製品。

セクションの先頭へ

埋め込みマクロを作成する

埋め込まれたマクロは、埋め込まれたマクロがフォーム、レポート、またはコントロールのイベントプロパティに格納されているという点で、スタンドアロンマクロとは異なります。ナビゲーションウィンドウの [マクロ] の下にオブジェクトとして表示されません。これにより、フォームまたはレポート用のマクロが含まれている個別のマクロオブジェクトを追跡する必要がないため、データベースを管理しやすくすることができます。埋め込みマクロを作成するには、次の手順を実行します。

  1. デザインビューまたはレイアウトビューでマクロが含まれているフォームまたはレポートを開きます。フォームまたはレポートを開くには、ナビゲーションウィンドウで右クリックし、[デザインビュー ボタン イメージ またはレイアウトビュー ボタン イメージ ] をクリックします。

  2. プロパティ シートがまだ表示されていない場合は、F4 キーを押して表示します。

  3. マクロを埋め込むイベントプロパティが含まれているコントロールまたはセクションをクリックします。

    フォームまたはレポート全体を選択するには、プロパティシートの上部にあるドロップダウンリストの [レポート] をクリックします。

  4. プロパティシートで、[イベント] タブをクリックします。

  5. マクロを埋め込むイベントプロパティをクリックし、ボックスの横にある [ [ビルダー] ボタン ] をクリックします。

  6. [ビルダーの選択] ダイアログボックスで、[マクロビルダー] をクリックし、[ OK] をクリックします。

  7. マクロビルダーで、[アクション] 列の最初の行をクリックします。

  8. [アクション] ドロップダウンリストで、目的のアクションをクリックします。

  9. [アクションの引数] ウィンドウで必要な引数を入力し、次のアクション行に移動します。

  10. マクロが完了するまで、手順8と9を繰り返します。

  11. [ Save ボタン イメージ ] をクリックし、[ ボタン イメージ閉じる] をクリックします。

イベントがトリガーされるたびにマクロが実行されます。

注: Access では、マクログループを埋め込みマクロとして作成できます。ただし、イベントがトリガーされたときに、グループ内の最初のマクロのみを実行します。後続のマクロは、埋め込まれたマクロ自体内から呼び出されない限り無視されます (たとえば、"のように")。

セクションの先頭へ

例: レポートの [いいえ] データイベントにマクロを埋め込む

レポートを実行し、そのデータソースにレコードが含まれていない場合、レポートには空のページ (つまり、データを持たないページ) が表示されます。代わりに、メッセージボックスが表示され、レポートがまったく表示されないようにすることをお勧めします。このような状況では、埋め込みマクロを使用することが理想的です。

  1. デザイン ビューまたはレイアウト ビューでレポートを開きます。

  2. プロパティ シートがまだ表示されていない場合は、F4 キーを押して表示します。

  3. プロパティ シートの [イベント] タブをクリックします。

  4. [データをない] をクリックします。

  5. [ [ビルダー] ボタン ] をクリックします。

  6. [ビルダーの選択] ダイアログボックスで、[マクロビルダー] をクリックし、[ OK] をクリックします。

  7. 次の表からアクションと引数を入力します。

操作

引数

MsgBox

レコードが見つかりません。、はい、情報、データがありません

CancelEvent

[引数はありません]

  1. 上の表は、引数列に表示される引数を示していることに注意してください。次の表に示すように、実際にはAction 引数の下に入力されます。

Action 引数

Value

メッセージ​​

レコードが見つかりません。

警告音

はい

種類

情報

タイトル

データがありません

  1. 閉じる をクリックします。

    マクロビルダーが閉じ、[いいえ] データイベントに[埋め込みマクロ]が表示されます。

  2. レポートを保存して閉じます。

次にレポートを実行し、レコードが見つからないときは、メッセージボックスが表示されます。メッセージボックスで [ OK ] をクリックすると、空のページを表示せずにレポートがキャンセルされます。

セクションの先頭へ

マクロを編集する

  • アクション行を挿入するに   は 新しいアクションを挿入するマクロ行をクリックし、[デザイン] タブの [] グループで [行の挿入 ルックアップ テーブルに行を挿入するボタンの画像 ] をクリックします。

  • アクション行を削除するに   は 削除するアクション行をクリックし、[デザイン] タブの [] グループで [行の削除 ボタンの画像 ] をクリックします。

  • アクション行を移動するに   はアクション名の左側にある行セレクタをクリックして、アクションを選択します。行セレクタをドラッグして、アクションを新しい位置に移動します。

ページの先頭へ

マクロアクションの詳細

マクロビルダーで作業しているときに、アクションまたは引数の詳細については、それをクリックして、マクロビルダーウィンドウの右下隅にあるボックスの説明を読んでください。また、各マクロアクションには、それに関連付けられているサポート記事が含まれています。操作の詳細については、アクションリストでアクションをクリックし、F1 キーを押します。

ページの先頭へ

マクロを実行する

スタンドアロンマクロは、次のいずれかの方法で実行できます。直接 (たとえば、ナビゲーションウィンドウから)、マクログループ、別のマクロから、VBA モジュールから、またはフォーム、レポート、またはコントロールで発生したイベントに応答します。フォーム、レポート、またはコントロールに埋め込まれたマクロを実行するには、[ デザイン] タブの [ ボタン イメージ実行] をクリックします。マクロはデザインビューに表示されます。それ以外の場合は、関連付けられたイベントがトリガーされたときにのみマクロが実行されます。

マクロを直接実行する

マクロを直接実行するには、次のいずれかの操作を行います。

  • ナビゲーションウィンドウでマクロに移動し、マクロ名をダブルクリックします。

  • [データベースツール] タブの [マクロ ] で [マクロ ボタン イメージ の実行] をクリックし、[マクロ] ボックスの一覧でマクロをクリックして、[ OK] をクリックします。

  • マクロがデザインビューで開いている場合は、[ツール] グループの [デザイン] タブの [ ボタン イメージ実行] をクリックします。デザインビューでマクロを開くには、ナビゲーションウィンドウで右クリックし、[デザインビュー ボタン イメージ ] をクリックします。

マクログループ内のマクロを実行する

マクログループ内のマクロを実行するには、次のいずれかの操作を行います。

  • [データベースツール] タブの [マクロ] グループで、[マクロ ボタン イメージ実行] をクリックし、[マクロ] ボックスの一覧でマクロをクリックします。

    Access には、各マクログループ内の各マクロのエントリが含まれています。マクロの書式設定にマクロます。

  • [OK] をクリックします。

  • フォームまたはレポートのイベント プロパティ設定として、またはRunMacroアクションのマクロ名引数としてマクロを指定します。この構文を使用してマクロを参照してください。

    マクロマクロ

    たとえば、次のイベントプロパティの設定では、フォームのメニューボタンという名前のマクログループのカテゴリという名前のマクロが実行されます。

    フォームメニューのボタン。カテゴリ

  • VBA プロシージャ内からマクログループ内のマクロを実行するには、 DoCmdオブジェクトのRunMacroメソッドを使用し、前に示した構文を使用してマクロを参照します。

別のマクロまたは VBA プロシージャからマクロを実行する

マクロまたはプロシージャにRunMacroアクションを追加します。

  • RunMacroアクションをマクロに追加するには、空白のアクション行のアクションリストで [ RunMacro ] をクリックし、マクロの引数を実行するマクロの名前に設定します。

  • VBA プロシージャにRunMacroアクションを追加するには、 DoCmdオブジェクトのRunMacroメソッドをプロシージャに追加し、実行するマクロの名前を指定します。たとえば、 RunMacroメソッドの次のインスタンスは、マクロという名前のマクロを実行します。

DoCmd.RunMacro "My Macro"

フォーム、レポート、またはコントロールのイベントに応答してマクロを実行する

フォーム、レポート、コントロールのイベントプロパティに直接マクロを埋め込むことができるようになりましたが、それでもスタンドアロンマクロを作成し、それをイベントにバインドすることができます。これは、以前のバージョンの Access でマクロを使用する方法です。

  1. スタンドアロンマクロを作成したら、デザインビューまたはレイアウトビューでフォームまたはレポートを開きます。

  2. フォームまたはレポートのプロパティシートを開くか、フォームまたはレポートのセクションまたはコントロールを開きます。

  3. [イベント] タブをクリックします。

  4. マクロをトリガーするイベントのイベントプロパティをクリックします。たとえば、 changeイベントでマクロを開始するには、[変更日] プロパティをクリックします。

  5. ドロップダウンリストで、スタンドアロンマクロの名前をクリックします。

  6. フォームまたはレポートを保存します。

ページの先頭へ

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×