教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】コマンドボタンプロパティ内にある[TakeFocusOnClick]の使い方を知りたいです。教えて!

f:id:m_kbou:20200806075722p:plain

コマンドボタンプロパティ内にある[TakeFocusOnClick]の使い方について紹介します。

 

 

コマンドボタンプロパティ内にあるTakeFocusOnClickとは

以下のコマンドボタンプロパティ内の赤枠箇所が[TakeFocusOnClick]となり、[TakeFocusOnClick]はマウスでコマンドボタンをクリックした時にコマンドボタンにフォーカスを移す/移さないを設定する事ができます。

f:id:m_kbou:20200806075739p:plain

TakeFocusOnClickに定義する設定値は、以下の2パターンとなります。

定義 内容
True フォーカスを取得します(既定値)
False フォーカスを取得しません

 

TakeFocusOnClickを設定する方法

(1)コマンドボタンプロパティ内のTakeFocusOnClickをクリックすると▼ボタンが表示されます。(※今回の例では『CommandButton2』コマンドボタンをマウスでクリックした時にフォーカスを移すか否かの説明になります。)

f:id:m_kbou:20200806075810p:plain

(2)▼ボタンをクリックするとプルダウンリストが表示されます。(※プルダウンリストには上記の設定値一覧が表示されます。)

f:id:m_kbou:20200806075821p:plain

コマンドボタンのフォーカスを取得する(True)

(3)今回はコマンドボタンのフォーカスを取得するため「True」を選択します。また、コマンドボタンのフォーカスが取得される事を確認するため、一度フォーム上でクリックをした後、上部にある<実行>ボタン(▶)をクリックします。

(4)フォームが表示され、『CommandButton1』コマンドボタンにフォーカスがある事が確認できます。

f:id:m_kbou:20200806075844p:plain

(5)次に『CommandButton2』コマンドボタンをマウスでクリックすると、『CommandButton2』コマンドボタンにフォーカスが移る事が確認できます。

f:id:m_kbou:20200806075907p:plain

コマンドボタンのフォーカスを取得しない(False)

(6)今回はコマンドボタンのフォーカスを取得しないため「False」を選択します。また、コマンドボタンのフォーカスが取得されない事を確認するため、一度フォーム上でクリックをした後、上部にある<実行>ボタン(▶)をクリックします。

(7)フォームが表示され、『CommandButton1』コマンドボタンにフォーカスがある事が確認できます。

f:id:m_kbou:20200806075844p:plain

(8)次に『CommandButton2』コマンドボタンをマウスでクリックすると、『CommandButton2』コマンドボタンにフォーカスが移らず、『CommandButton1』コマンドボタンにフォーカスが残ったままである事が確認できます。

f:id:m_kbou:20200806075945p:plain

TakeFocusOnClickを設定する方法についての説明は以上です。

 

おわりに

今回はコマンドボタンプロパティ内のTakeFocusOnClickの使い方について説明しました。その他のコマンドボタンプロパティの使い方はこちらを参考にして下さい。