Excel VBA SendKeys
VBA言語のSendKeysは、アクティブなウィンドウにキーストロークを送信するために使用されるメソッドであり、その後手動で作業できます。キーとしてアルファベットを使用する場合は常に、すべてのアルファベットを小文字にする必要があります。これは複雑な方法であり、必要な場合とオプションがない場合にのみ使用することをお勧めします
「SendKeys」は、理解すべき複雑なトピックの1つです。VBAでこの機能を使用する人はそれほど多くありませんが、より多くのトピックについてより多くの知識を持っていることは常に良いことです。この記事では、SendKeys関数の使用方法を紹介します。速くてより良く学ぶための実用的なアプローチで記事を何度も読み直すのは難しいかもしれません。
構文
以下は、vbaSendKeysメソッドの構文です。
キーまたは文字列:アクティブなアプリケーションに送信する必要のあるキーの種類。
待機:この引数では、TRUEまたはFALSEの2つを使用できます
- コントロールをマクロに戻す前に、割り当てられたキーが処理されるのをExcelで待機する場合はTRUE。
- FALSEあなたは無視するならば待ち、このパラメータがデフォルト値になります。FALSEを選択すると、Excelは、アクティブなウィンドウでキーが処理されるのを待たずにマクロを実行し続けます。
キーボードで使用する一般的なキーは「Ctrl、Shift、およびALT」です。したがって、SendKeysメソッドでは、特殊文字とともに使用する必要があります。次の表に、上記の3つの共通キーの特殊文字を示します。
他のキーには異なるキーと文字があります。以下の表に、各キーの詳細な説明を示します。
要件に応じて、上記のキーのいずれかを使用できます。いくつかの実用的な例を使用して、SendKeysの使用方法を示します。
Excel VBASendKeysメソッドの使用例
このVBASendKeys Excelテンプレートはここからダウンロードできます– VBA SendKeysExcelテンプレート例1
たとえば、以下のセル値を見てください。
3つのセルに値があり、最初のセルに「バンガロール」の値があり、このセルには「カルナタカ州の州都」というコメントがあります。
「SendKeys」を使用して、このコメントを編集しようとしています。
Excelシートを開き、Visual Basic Editorに移動して、VBAサブプロシージャを開始します。
コード:
Sub Send_Keys_Example()End Sub
まず、コメントを編集するためにコメントセルを選択する必要があります。したがって、コードRANGE(“ A1”)を使用します。
コード:
Sub Send_Keys_Example()Range( "A1")。EndSubを選択します
セルが選択されると、コメントを編集するアクションを実行します。ここで、コメントの編集に使用するキーボードショートカットを思い出す必要があります。
コメントを編集するには、ショートカットキー「Shift + F2」を使用します。
このキーを押すと、コメントが編集されます。
次に、「SendKeys」メソッドを開きます。
SendKeysメソッドでは、SHIFTキーを使用するための文字は「+」(プラス記号)であるため、「+」サインインコードを入力します。
現在、プラス記号はSHIFTキーとして機能し、次に使用するSHIFTキーはF2キーです。ファンクションキーを使用するときは常に中括弧で囲む必要があるため、中括弧にファンクションキーF2を入力します。
コード:
Sub Send_Keys_Example()Range( "A1")。Select SendKeys "+ {F2}" End Sub
次に、コードを実行して、何が得られるかを確認します。
コードを実行しようとすると、上記のようなメッセージが表示されます。重要なことの1つは、Visual BasicEditorウィンドウから「SendKeys」を使用するマクロを実行できないことです。
「マクロ」リストからコードを実行する必要があります。
最初にVisualBasicEditorウィンドウを閉じます。
「開発者」タブに移動し、「マクロ」をクリックします。
これで、すべてのマクロのリストが開きます。実行する必要のあるマクロを選択してください。マクロ名は「Send_Keys_Example」なので、実行ボタンを押します。
[コメントの編集]オプションが有効になっていることがわかります。
上記のように、Shift + F2のショートカットキーが割り当てられており、コメントの編集オプションが開きます。
例2
たとえば、SendKeysメソッドを使用して[形式を選択して貼り付け]ウィンドウを開きたい場合は、これも実行できます。まず、特定のセルをコピーしてから、SendKeysを使用する必要があります。
コード:
Sub Send_Keys_Example1()Range( "A1")。Copy SendKeys "%es" End Sub
実行する必要のあるマクロを選択し、[実行]をクリックします。
コードを実行すると、貼り付けの特別なダイアログボックスの下に開きます。
覚えておくべきこと
- SendKeysは、アクティブなアプリケーションにキーストロークを割り当てます。
- この方法は非常に複雑であり、必要な場合と選択肢がない場合にのみ使用することをお勧めします。
- キーとしてアルファベットを使用する場合は常に、すべてのアルファベットを小文字にする必要があります。