Access デスクトップ データベースの "SendKeys/キー送信" マクロ アクションを使って、Access またはアクティブな Windows ベースのアプリケーションにキーボード操作を直接送ることができます。
セキュリティ メモ: 重要な情報や機密情報には SendKeys ステートメントまたは AutoKeys マクロを使用しないでください。 悪意のあるユーザーがキー入力をインターセプトして、コンピューターやデータのセキュリティを侵害する恐れがあります。
注: このアクションは、データベースが信頼されていない場合は許可されません。
設定
"SendKeys/キー送信" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
キー操作 |
Access またはアプリケーションで処理するキーボード操作。 マクロ デザイン ウィンドウの [アクションの引数] セクションの [キー操作] ボックスに、キーボード操作を入力します。 最大 255 文字まで入力できます。 これは必須の引数です。 |
待機 |
キーボード操作が処理されるまでマクロを一時停止する必要があるかどうかを指定します。 [はい] (一時停止する) または [いいえ] (一時停止しない) をクリックします。 既定値は [いいえ] です。 |
解説
Access は、"SendKeys/キー送信" マクロを通して受け取ったキーボード操作を、Access ウィンドウで直接入力された場合とまったく同じように処理します。
キーボード操作を指定するには、SendKeys ステートメントの場合と同じ構文を使います。
注: キー操作引数の構文が正しくない場合、テキストのスペルが間違っている場合、またはウィンドウのキーボード操作に適切ではない値が送られた場合は、エラーが発生することがあります。
このマクロ アクションを使用すると、ダイアログ ボックスに情報を入力できます。特に、ダイアログ ボックスに手動で応答するためにマクロを中断しない場合は。 PrintOut や FindRecord などの一部の Access マクロ アクションでは、頻繁に使用される特定のダイアログ ボックスのオプションが自動的に選択されます。 SendKeys マクロ アクションを使用して、あまり一般的に使用されるダイアログ ボックスのオプションを選択できます。
-
ダイアログ ボックスによってマクロは中断されるので、ダイアログ ボックスが開く原因になるアクションより前に "SendKeys/キー送信" マクロをアクション状態にし、"Wait/待機" 引数を "No/いいえ" に設定する必要があります。
-
Access または別のアプリケーションにキーボード操作が到達するタイミングは微妙な場合があります。 そのため、目的のタスクを実現するために使用できるメソッドが他にある場合は ("FindRecord/レコードの検索" マクロ アクションなど)、"SendKeys/キー送信" マクロ アクションを使う代わりにそのメソッドを使って、ダイアログ ボックスにオプションを入力することをお勧めします。
Access または別の Windows ベース アプリケーションに 255 文字より多くを送信したい場合は、複数の "SendKeys/キー送信" マクロ アクションをマクロ内で連続して使用できます。
"SendKeys/キー送信" マクロ アクションを使ってキーボード操作を送信すると、適切な KeyDown、KeyUp、KeyPress イベントがトリガーされます。 ANSI 以外のキーボード操作 (ファンクション キーなど) を送信すると、KeyPress イベントはトリガーされません。
Visual Basic for Applications (VBA) モジュールからこのアクションを使うことはできません。 代わりに SendKeys ステートメントを使います。