マクロを作成する

マクロを作成して、特定の一連のアクションを実行することができます。また、マクロ グループを作成して、関連する一連のアクションを実行することもできます。

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

目的に合ったトピックをクリックしてください

マクロ ビルダについて

独立マクロを作成する

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

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

マクロを編集する

条件を使用してマクロ アクションを制御する

マクロのアクションについて

マクロ ビルダについて

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

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

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

Macro Builder

[マクロ ビルダ] ウィンドウで、マクロ実行の際に行うアクションの一覧を作成します。マクロ ビルダを初めて開くと、[アクション] 列、[引数] 列、および [コメント] 列が表示されます。

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

マクロ ビルダの [デザイン] タブのコマンドを使用すると、マクロを作成、テスト、および実行できます。

次の表に、マクロ ビルダの [デザイン] タブで利用可能なコマンドを示します。

グループ

コマンド

説明

ツール

実行

マクロにリストされているアクションを実行します。

シングル ステップ

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

ビルダ

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

行の挿入

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

行の削除

選択したアクション行 (1 つまたは複数) を削除します。

表示/非表示

すべてのアクションを表示

[アクション] ボックスに表示するマクロのアクションを増減します。

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

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

    ヒント   [すべてのアクションを表示] ボタンが選択されている場合は、[すべてのアクションを表示] ボタンをクリックして、選択を解除します。[すべてのアクションを表示] ボタンが選択されていない場合は、信頼されたマクロ アクションの短いリストが利用可能となっています。

マクロ名

[マクロ名] 列を表示または非表示にします。マクロ名は、マクロ グループで個々のマクロを識別する際には必須となりますが、その他の場合には省略可能です。詳細については、この記事の「マクロ グループを作成する」を参照してください。

条件

[条件] 列を表示または非表示にします。この列を使用して、アクションがいつ実行されるかを制御する式を入力します。

引数

[引数] 列を表示または非表示にします。この列には、各マクロ アクションの引数が表示され、マクロ全体を簡単に確認できます。[引数] 列が表示されない場合は、各アクションをクリックして、[アクションの引数] の下で引数を参照する必要があります。[引数] 列に引数を入力することはできません。

ページの先頭へ

独立マクロを作成する

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

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

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

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

    • 使用するアクションを入力するか、または矢印をクリックして使用可能なアクションのリストを表示し、使用するアクションを選択します。

      Select a macro action

    • 必要な場合は、マクロ ビルダの下部にある [アクションの引数] でアクションの引数を指定します。

      Enter action arguments

        

      • [アクションの引数] ウィンドウに引数を入力すると、アクション リストの [引数] 列に表示されます。ただし、[引数] 列は表示専用であり、その列に引数を入力することはできません。

      • 各引数の簡単な説明を表示するには、[アクションの引数] ウィンドウで、引数のボックス内をクリックすると、その引数の横に説明が表示されます。

        ヒント

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

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

    • [コメント] 列に、アクションに関するコメントを入力することもできます。

  3. さらに複数のアクションをマクロに追加するには、他のアクション行に移動して、手順 2. を繰り返し行います。

マクロを実行する場合、アクションは一覧に表示されている順序で実行されます。

ページの先頭へ

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

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

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

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

  2. [デザイン] タブの [表示/非表示] で Button image(マクロ名) が選択されていない場合はこれをクリックします。

    [マクロ名] 列がマクロ ビルダに表示されます。

      マクロ グループでは、マクロ名は個々のマクロを識別するために必要となります。マクロ名はマクロの最初のアクションと同じ行に表示されます。マクロ名の列は、そのマクロの以降のアクションでは空白のままになります。このマクロが終了すると、次のマクロ名が現れます。

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

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

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

    • 使用するアクションをクリックします。

    • 必要な場合は、[アクションの引数] で、そのアクションの引数を指定します。

      各引数の簡単な説明を表示するには、引数のボックス内をクリックし、その引数の右側に表示される説明を読みます。

      ヒント

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

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

    • アクションに関するコメントを入力することもできます。

  5. 次の空白行に移動し、次のマクロの名前を [マクロ名] 列に入力します。

  6. そのマクロで実行するアクションを追加します。

  7. マクロ グループの各マクロに対して、手順 5. と 6. を繰り返します。

次の図は、小さいマクロ グループを示しています。マクロ グループには 2 つのマクロがあり、それぞれの名前が [マクロ名] 列に表示されます。各マクロには 2 つのアクションが記述されています。

Macro group example

  

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

    macrogroupname.macroname

    たとえば、前述の図では、Macro3.FoundMsg はマクロ グループの 2 番目のマクロを参照します。

  • ナビゲーション ウィンドウでマクロ グループをダブルクリックするか、または [デザイン] タブの Button image(ツール) の [実行] をクリックしてマクロ グループを実行した場合は、最初のマクロだけが実行され、2 番目のマクロ名に到達すると停止します。

ページの先頭へ

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

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

たとえば、データを含まないレポートを表示しないようにするには、そのレポートの [空データ時] イベント プロパティにマクロを埋め込むことができます。"MsgBox/メッセージボックス" アクションを使用して、メッセージを表示し、次に "CancelEvent/イベントのキャンセル" アクションを使用して、空白のページを表示する代わりにそのレポートをキャンセルすることができます。

  1. ナビゲーション ウィンドウで、マクロを埋め込むフォームまたはレポートを右クリックし、 ボタンの画像 (デザイン ビュー) または Button image(レイアウト ビュー) をクリックします。

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

  3. マクロの埋め込み先となるイベント プロパティを含むコントロールまたはセクションをクリックします。プロパティ シートの上部にある [選択の種類] の下のドロップダウン リストを使用して、コントロールやセクション (またはフォーム全体やレポート全体) を選択することもできます。

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

  5. マクロを埋め込むイベント プロパティをクリックし、 ボタンの画像 をクリックします。

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

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

  8. [アクション] ボックスで、目的のアクションをクリックします。

  9. [アクションの引数] の下に、必須の引数をすべて入力します。

  10. 別のアクションを追加する場合は、[アクション] 列の次の行をクリックして、手順 8. と 9. を繰り返します。

  11. マクロが完了したら、[上書き保存] をクリックし、[閉じる] をクリックします。

マクロは、このイベント プロパティが発生するたびに実行されます。

  

  • Access により、マクロ グループを埋め込みマクロとして作成できます。ただし、イベントが発生した際に実行されるのは、グループ内の最初のマクロだけです。以降のマクロは無視されます。

  • [データベース ツール] タブの [マクロ] で (マクロを Visual Basic に変換) ツールを使用して、埋め込みマクロを Visual Basic for Applications (VBA) に変換することはできません。最終的にマクロを VBA コードに変換する場合は、埋め込みマクロではなく独立マクロを作成することをお勧めします。こうすることによって、[マクロを Visual Basic に変換] ツールを使用して、マクロを VBA に変換できます。

ページの先頭へ

マクロを編集する

  • アクション行を挿入するには     新しいアクション行の挿入場所の上にあるアクション行を右クリックし、 Button image inserting row in lookup table (行の挿入) をクリックします。

  • アクション行を削除するには     削除するアクション行を右クリックし、 Button image (行の削除) をクリックします。

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

行のグループを選択してから、必要な操作を実行することで、複数の行を挿入、削除、または移動できます。行のグループを選択するには、選択する最初の行の行見出しをクリックし、Shift キーを押しながら、選択する最後の行の行見出しをクリックします (行見出しは、各アクション行の左にある淡色表示のボックスです)。

選択する最初の行見出しの上にマウス ポインタを置き、クリックして上または下にドラッグして他の行を選択することにより、複数の行を選択することもできます。

  行のクリックとドラッグによって行を選択する場合、選択する最初の行は未選択である必要があります。行が選択されている場合、行を新しい位置にドラッグしようとしていると見なされます。

ページの先頭へ

条件を使用してマクロ アクションを制御する

条件では、True/False または Yes/No として評価されるすべての式を使用することができます。条件が True (または Yes) と評価されると、マクロ アクションが実行されます。

マクロ アクションの条件を入力するには、マクロ ビルダに [条件] 列を表示する必要があります。

  • [デザイン] タブの [表示/非表示] で Button image(条件) をクリックします。

[条件] 列に式を入力します。式の前に等号 (=) を使用しないでください。条件を複数のアクションに同時に適用するには、後続の各行に ... と入力します。次に例を示します。

Condition that applies to several macro actions

ヒント   一時的にアクションが無視されるようにするには、条件として「False」を入力します。一時的にアクションを無視することによって、マクロの問題点を探すことができます。

マクロ条件の例

使用する式

アクションが実行される場合

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

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

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

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

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

[受注明細] テーブルで、[受注] フォームの [受注コード] フィールドと一致する [受注コード] フィールドのエントリが 3 を超えるとき。

[出荷日] Between #2-Feb-2007# And #2-Mar-2007#

マクロが実行されるフォームの [出荷日] フィールドの値が 2007 年 2 月 2 日から 2007 年 3 月 2 日の期間にあるとき。

Forms![商品リスト]![梱包単位]<5

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

IsNull([担当者])

マクロが実行されるフォームの [担当者] フィールドに値がない (Null 値) とき。この式は [担当者] Is Null と同じです。

[都道府県]="東京本社" And Forms![支社別売上高]![売上総数]>100

マクロが実行されるフォームの [都道府県] フィールドの値が "東京本社" で、[支社別売上高] フォームの [売上総数] フィールドの値が 100 を超えるとき。

[都道府県] In ("埼玉県", "大阪府", "福岡県") And Len([郵便番号])<>7

マクロが実行されるフォームの [都道府県] フィールドの値が "埼玉県"、"大阪府"、"福岡県" のいずれかで、郵便番号が 7 桁でないとき。

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

MsgBox 関数により表示される [変更の確認] ダイアログ ボックスの [OK] をクリックしたとき。[キャンセル] をクリックすると、アクションは実行されません。

[一時変数]![MyVar]=43

"SetTempVar/一時変数の設定" マクロ アクションを使用して作成される一時変数 MyVar の値が 43 のとき。

[MacroError]<>0

MacroError オブジェクトの Number プロパティの値が 0 以外、つまりマクロでエラーが発生したとき。この条件を "ClearMacroError/マクロ エラーのクリア" マクロ アクションおよび "OnError/エラー時" マクロ アクションと共に使用すると、エラーが発生したときの動作を制御できます。

式の詳細については、「式を作成する」を参照してください。

ページの先頭へ

マクロのアクションについて

マクロ ビルダで作業する際に、アクションまたは引数をクリックし、マクロ ビルダ ウィンドウの右下隅に表示されるボックス内の説明を読むことで、そのアクションや引数をより詳しく知ることができます。また、各マクロ アクションにはヘルプ トピックが関連付けられています。アクションに関する詳細情報を得るには、そのアクションをアクション リストから選択し、F1 キーを押します。

ページの先頭へ

適用対象: Access 2007



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

はい いいえ

どのようにしたら改善できるでしょうか?

255 残りの文字数

お客様のプライバシーを保護するため、フィードバックには連絡先情報を含めないでください。 レビューしてください プライバシー ポリシー

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

サポート リソース

言語の変更