TabIndex プロパティの例
次の例では、 TabIndex プロパティを使用して、個々のコントロールのタブ オーダーを表示および設定します。 Tab キーを押すと、タブ オーダーで次のコントロールに移動し、そのコントロールの TabIndex を 表示できます。
コントロールをクリックして TabIndex を表示することもできます。 コントロールの TabIndex を変更するには、 TextBox に新しいインデックス値を指定し、[CommandButton3] をクリックします。 1 つのコントロールの TabIndex を変更すると、Frame 内の他のコントロールの TabIndex も更新されます。
この例を使用するには、以下のサンプル コードをフォームの宣言部分にコピーします。 Make sure that the form contains:
- ラベル ( Label ) コントロール (Label1)
- テキスト ボックス ( TextBox ) コントロール (TextBox1)
- フレーム ( Frame ) コントロール (Frame1)
- フレーム ( Frame ) コントロール内に配置したテキスト ボックス ( TextBox ) コントロール (TextBox2)
- CommandButton1 と CommandButton2 という名前のフレーム内の 2 つの CommandButton コントロール。
- ScrollBar1 という名前のフレーム内の ScrollBar。
- CommandButton3 という名前の CommandButton (Frame 内にありません)。
Private Sub MoveToFront()
Dim i, Temp As Integer
Temp = Frame1.ActiveControl.TabIndex
For i = 0 To Temp - 1
Frame1.Controls.Item(i).TabIndex = i + 1
Next i
Frame1.ActiveControl.TabIndex = 0
TextBox1.Text = Frame1.ActiveControl.TabIndex
End Sub
Private Sub CommandButton3_Click()
Dim i, Temp As Integer
If IsNumeric(TextBox1.Text) Then
Temp = Val(TextBox1.Text)
If Temp >= Frame1.Controls.Count Or Temp < 0
Then
'Entry out of range; move control to front
'of tab order
MoveToFront
ElseIf
Temp > Frame1.ActiveControl.TabIndex
Then
'Move entry down the list
For i = Frame1.ActiveControl.TabIndex + _
1 To Temp
Frame1.Controls.Item(i).TabIndex = _
i - 1
Next i
Frame1.ActiveControl.TabIndex = Temp
TextBox1.Text = _
Frame1.ActiveControl.TabIndex
Else
'Move Entry up the list
For i = Frame1.ActiveControl.TabIndex - _
1 To Temp
Frame1.Controls.Item(i).TabIndex = _
i + 1
Next i
Frame1.ActiveControl.TabIndex = Temp
TextBox1.Text = _
Frame1.ActiveControl.TabIndex
End If
Else
'Text entry; move control to front of tab
'order
MoveToFront
End If
End Sub
Private Sub UserForm_Initialize()
Label1.Caption = "TabIndex"
Frame1.Controls(0).SetFocus
TextBox1.Text = Frame1.ActiveControl.TabIndex
Frame1.Cycle = fmCycleCurrentForm
CommandButton3.Caption = "Set TabIndex"
CommandButton3.TakeFocusOnClick = False
End Sub
Private Sub TextBox2_Enter()
TextBox1.Text = Frame1.ActiveControl.TabIndex
End Sub
Private Sub CommandButton1_Enter()
TextBox1.Text = Frame1.ActiveControl.TabIndex
End Sub
Private Sub CommandButton2_Enter()
TextBox1.Text = Frame1.ActiveControl.TabIndex
End Sub
Private Sub ScrollBar1_Enter()
TextBox1.Text = Frame1.ActiveControl.TabIndex
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。