コントロールにツールチップを表示する(ControlTipTextプロパティ)
ユーザーフォームに設置したコントロールにマウスを置いたときに、コントロールの横にツールチップと呼ばれるテキストを表示するように設定するには ControlTipText プロパティを使用します。コントールに関する簡単な説明やヒントを表示するのに使います。ここでは Excel のユーザーフォームで ControlTipText プロパティを使ってコントロールにツールチップを表示する方法について解説します。
(Last modified: )
ツールチップを表示する
コントロールにマウスを置いたときにツールチップと呼ばれるテキストを表示するには ControlTipText
プロパティを使用します。デフォルトでは ControlTipText
の値は長さが 0 の文字列 (""
) となっています。
ツールチップを表示する文字列を設定するには ControlTipText
の値を直接編集してください。なおツールチップを表示するように変更しても、 Visual Basic Editor 上では確認できず実行時にのみ確認できます。
ユーザーフォームの実行をクリックしてユーザーフォームを実際に表示し、ラベルにマウスを合わせると先ほど設定した文字列がテキストとしてラベルの横に表示されることが確認できます。
このように ControlTipText
プロパティの値を変更することで、コントロールにマウスを置いたときにコントロールの横にツールチップのテキストを表示するように設定することができます。
VBAのプログラムの中でControlTipTextプロパティを設定する
プロパティウィンドウを使って ControlTipText
プロパティの値を変更する代わりに、 VBA のコードを記述して ControlTipText
プロパティの値を変更することもできます。
プログラムの中で ControlTipText
プロパティを設定する場合は次の書式を使用します。
オブジェクト.ControlTipText [= String ]
対象のオブジェクトの ControlTipText
プロパティにツールチップに表示する文字列を代入してください。
簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize
イベントに対するイベントプロシージャを作成し、その中で ControlTipText
プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。
※ Initialize
イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。
ユーザーフォームのコントロールが何もないところをダブルクリックしてください。
ユーザーフォームの規定のイベントである Click
イベントに対するイベントプロシージャが表示されます。
今回はユーザーフォームの Initialize
イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。
Private Sub UserForm_Initialize() TextBox1.ControlTipText = "名前を入力してください" End Sub
これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。
ユーザーフォームが表示されました。追加されているテキストボックスにマウスを置くと、設定した文字列がテキストボックスの横に表示されることが確認できます。
このように VBA のプログラムの中で ControlTipText
プロパティの値を変更することができました。
-- --
Excel のユーザーフォームで ControlTipText プロパティを使ってコントロールにツールチップを表示する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。