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