タブを切り替えた時の処理

広告

タブを切り替えた時にコントロールに表示される値を書き換える方法を確認します。

まずタブストリップにテキストボックスを1つ配置します。

タブを切り替えた時の処理

タブを切り替えた時の処理

タブストリップ上でタブを切り替えてもこのテキストボックスは共通して表示されます。テキストボックスのオブジェクト名を「salesText」とします。

タブを切り替えた時の処理

次に現在どのタブが表示されているかを取得します。タブストリップに対して「Value」プロパティを使います。

コントロールの状態、またはその内容を設定します。

引数:
  object  設定するオブジェクトを指定します。
  Variant  現在アクティブなタブを表す整数値を表します。

タブのインデックス番号を所得することが出来ます。最初のタブは0です。

後はタブストリップ上のイベント処理でタブが切り替えられた時に発生する「Change」イベント上で、アクティブなタブに対する値をコントロールに表示します。

実際の使い方としては次のようになります。

Private Sub monthTab_Change()
    Dim index As Integer
    
    index = monthTab.Value
    If index = 0 Then
        salesText.Text = "8,000"
    ElseIf index = 1 Then
        salesText.Text = "21,000"
    ElseIf index = 2 Then
        salesText.Text = "15,000"
    End If
End Sub

サンプルプログラム

では簡単なサンプルで試してみましょう。タブストリップのChangeイベントに次のように記述します。

Private Sub monthTab_Change()
    Dim index As Integer
    
    index = monthTab.Value
    If index = 0 Then
        salesText.Text = "8,000"
    ElseIf index = 1 Then
        salesText.Text = "21,000"
    ElseIf index = 2 Then
        salesText.Text = "15,000"
    End If
End Sub

また呼びだすマクロは次の通りです。

testTab2.bas

Sub テスト()
    Load sampleForm
    sampleForm.monthTab.Tabs(0).Caption = "1月"
    sampleForm.monthTab.Tabs(1).Caption = "2月"
    sampleForm.monthTab.Tabs(2).Caption = "3月"
    sampleForm.Show
End Sub

上記マクロを実行すると次のように表示されます。

タブを切り替えた時の処理

タブを切り替えるとその時表示されたタブに対応する値がコントロールに表示されます。

タブを切り替えた時の処理

タブを切り替えた時の処理

( Written by Tatsuo Ikura )