16 . コントロールを使う
            -
テキストボックスコントロール
 

テキストボックスコントロールは、ユーザーからの入力を受け付けるコントロールです。
コントロールに入力された値は、文字列のデータとして取得できます。
また、このコントロールは、ワークシート上に配置した場合だけ、プロパティの設定でワークシートのセルと連動して、値の入出力を行うことができます。
 

@ 入力データの取得
              −Valueプロパティ
書式 使用例
テキストボックスコントロールに入力された値は、Valueプロパティを参照することで取得できます。値は、すべて文字列で格納されます。
取得した入力値は、変数やセルに転送して式で使用できます。
テキストボックスコントロールに値が入力されると、コントロールにはChangeイベントが発生しますので、入力された値を取得して処理を行いたい場合は、このイベントプロシージャを利用します。

【ワン・ポイントアドバイス】
テキストボックスコントロールのLinkedCellプロパティを使用すると、式を使わずに指定したセルへ入力値を転送できます。
プロパティウィンドウにあるLinkedCellプロパティの値に、セル番地を指定します。これだけで、自動的にテキストボックスコントロールの入力値がセルに転送されます。
また、逆にLinkedCellプロパティにセットしたセル番地に値の入力があると、その値がテキストボックスコントロールに表示されます。
このプロパティは、デザイン時のみ設定でき、実行時には操作できません

代入先 = Object.Value


属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール


<記述例>
Range("A1") = TextBox1.Value

 

<使用例 テキストボックスに入力された値をセルA1に代入する>
Private Sub TextBox1_Change()
    Range("A1") = TextBox1.Value
End Sub



<使用例 現在アクティブなセルにテキストボックスの入力を代入する>
Private Sub TextBox1_Change()
    ActiveCell.Value = TextBox1.Value
End Sub

 

A  あらかじめ表示文字を設定する
               −Textプロパティ
書式 使用例
Textプロパティを使用すると、あらかじめテキストボックスコントロールに文字列を表示できます。
このプロパティは、初期設定をプロパティウィンドウで行えます。
 
Object.Text = 文字列

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール


<記述例>
TextBox1.Text = "ここに入力してください。"

<使用例 あらかじめテキストボックスに文字列を表示する>
TextBox1.Text = "ここに入力してください。"

 

 

 

B 日本語入力のオンオフ設定
            −IMEModeプロパティ
書式 使用例
IMEModeプロパティは、テキストボックスコントロールにフォーカスが移り、入力可能状態になったときに、自動的に日本語入力をオンにするかどうかを設定するプロパティです。
設定値は定数を使用し、細かいかな漢字入力の設定が行えます。
 
Object.IMEMode = 定数値

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
TextBox1.IMEMode = fmIMEModeOn

 

<使用例 テキストボックスの入力時に日本語入力を設定する>
Sub 日本語入力の設定()
    Worksheets("Sheet3").TextBox1.IMEMode = fmIMEModeOn
End Sub
 

<IMEModeプロパティの定数>

   定数                           値              内容
----------------------------------------------------------------------------------------
fmIMEModeNoControl         0     IME のモードを変更しない (既定値)。
fmIMEModeOn                   1     IME をオンにする。
fmIMEModeOff                   2     IME をオフにして英語モードにする。
fmIMEModeDisable             3     IME をオフにする。このモードにするとユーザーは、キー操作によっても IME をオンにすることができなくなる。
fmIMEModeHiragana           4     全角ひらがなモードで IME をオンにする。
fmIMEModeKatakana          5     全角カタカナ モードで IME をオンにする。
fmIMEModeKatakanaHalf     6     半角カタカナ モードで IME をオンにする。
fmIMEModeAlphaFull          7     全角英数モードで IME をオンにする。
fmIMEModeAlpha               8     半角英数モードで IME をオンにする。
fmIMEModeHangulFull        9     全角ハングル モードで IME をオンにする。
fmIMEModeHangul             10   半角ハングル モードで IME をオンにする。

 

C 入力文字数に制限を加える
               −MaxLengthプロパティ
書式 使用例
MaxLengthプロパティを使用すると、テキストボックスコントロールに入力できる文字数を制限できます。プロパティの値には整数を指定します。パスワード入力や電話番号入力など、あらかじめ入力の時点でデータの長さを制限したい場合に使うと便利です。
この文字数は、全角も半角も区別せず、1文字は1文字としてカウントします。このプロパティも、プロパティウィンドウで初期設定が行えます。
 
Object.MaxLength = 最大文字数(整数)

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
TextBox1.MaxLength = 25

<使用例 テキストボックスの入力文字数を8文字にする>
TextBox1.MaxLength = 8
 



 

 

D入力文字を伏字にする
         −PasswordCharプロパティ
書式 使用例
パスワード入力など、テキストボックスコントロールに入力する際に、入力文字を表示させたくない場合は、このプロパティに文字を設定しておくと、その文字が表示されるようになります。
プロパティウィンドウで値の設定が行えます。
Object.PasswordChar = 設定文字

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
TextBox1.PasswordChar = "*"

<使用例 テキストボックスの入力値を!文字で表示する>
Worksheets("Sheet3").TextBox1.PasswordChar = "!"

 

E複数行の入力・表示を行う
             −MultiLineプロパティ
書式 使用例
通常、テキストボックスコントロールは一行編集になっていますが、このプロパティにTrueをセットすると、複数行の文字列の編集が可能になります。 Object.MultiLine = 論理値

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
TextBox1.MultiLine = True

<使用例 テキストボックスを複数行の編集設定にする>
Worksheets("Sheet3").TextBox1.MultiLine = True

 

 

Fスクロールバーを表示させる
            −ScrollBarsプロパティ
書式 使用例
MultiLineプロパティをTrueに設定すると、複数行の編集が行えますが、このScrollBarsプロパティを使うことで、テキストボックスコントロールにスクロールバーを設定することができます。
プロパティの値は定数で設定し、水平・垂直および両方のスクロールバーを表示させることができます。
object.ScrollBars = 定数

属性                          プロパティ
所属オブジェクト           コントロール
操作対象オブジェクト     コントロール

<記述例>
TextBox1.ScrollBars = fmScrollBarsBoth

<使用例 テキストボックスに水平・垂直スクロールバーを設定>
Worksheets("Sheet3").TextBox1.ScrollBars = fmScrollBarsBoth
 
<ScrollBarsプロパティの定数>

定数                             値       内容
------------------------------------------------------
fmScrollBarsNone            0 スクロール バーを表示しない (既定値)。
fmScrollBarsHorizontal     1 水平スクロール バーを表示する。
fmScrollBarsVertical        2 垂直スクロール バーを表示する。
fmScrollBarsBoth            3 水平・垂直スクロールバーの両方を表示する。

 

著作・制作   瀬戸 遥   2004/07.