マクロを作成する

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

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

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

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

マクロ ビルダについて

独立マクロを作成する

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

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

マクロを編集する

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

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

マクロ ビルダについて

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

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

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

マクロ ビルダ

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

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

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

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

グループ

コマンド

説明

ツール

実行

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

シングル ステップ

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

ビルダ

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

行の挿入

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

行の削除

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

表示/非表示

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

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

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

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

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

マクロ名

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

条件

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

引数

[引数] 列の表示と非表示を切り替えます。この列にマクロ アクションの引数が表示されるようになったため、より簡単にマクロの内容を確認できるようになりました。[引数] 列が表示されていない場合は、[アクションの引数] の下でアクションをクリックして引数を確認する必要があります。[引数] 列に引数を入力することはできません。

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

ページの先頭へ

独立マクロを作成する

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

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

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

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

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

      マクロ アクションを選択する

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

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

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

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

        ヒント

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

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

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

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

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

ページの先頭へ

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

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

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

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

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

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

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

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

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

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

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

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

      引数のボックスをクリックすると、引数の短い説明が引数の右側に表示されます。

      ヒント

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

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

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

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

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

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

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

マクロ グループの例

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

    "マクロ グループ名.マクロ名"

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

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

ページの先頭へ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注: Access では、マクログループを埋め込みマクロとして作成できます。ただし、イベントがトリガーされたときに、グループ内の最初のマクロのみを実行します。グループ内の後続のマクロは無視されます。

ページの先頭へ

マクロを編集する

  • アクション行を挿入するに   は 新しいアクション行を挿入する上にある [アクション] 行を右クリックし、[行の挿入 ルックアップ テーブルに行を挿入するボタンの画像 ] をクリックします。

  • アクション行を削除するに   は 削除するアクション行を右クリックし、[行の削除 ボタン イメージ ] をクリックします。

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

複数の行を挿入、削除、または移動するには、最初に行のグループを選択し、必要な操作を実行します。行のグループを選択するには、選択する最初の行の行見出しをクリックし、shift キーを押しながら、選択する最後の行の行見出しをクリックします。(行ヘッダーは、各アクション行の左側にある [影付き] ボックスです)。

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

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

ページの先頭へ

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

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

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

  • [デザイン] タブの [表示/非表示] グループで、[条件 ボタン イメージ ] をクリックします。

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

複数のマクロ アクションに適用される条件

ヒント: 一時的にアクションが無視されるようにするには、条件として「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です (値はありません)。この式は、 [] と同じですが、 Nullです。

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

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

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

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

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

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

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

MyVar ( SetTempVarマクロアクションを使用して作成された) テンポラリ変数の値は、43と等しくなります。

[MacroError]<>0

MacroErrorオブジェクトのNumberプロパティの値が0に等しくない場合、マクロでエラーが発生したことを意味します。この条件は、 クリア " 、エラーが発生したときの動作を制御するためのマクロアクションと共に使うことができます。

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

ページの先頭へ

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

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

ページの先頭へ

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

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

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

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

×