1

単一のマルチページですべてのコントロールをループしようとしています。コントロールがロックされている場合、何も起こらないようにします。ロックされていない場合、コンテンツはクリアされます。過去に次のテクニックを使用しましたが、今回は効果がありません。

Dim ctl As Control
For Each ctl In Me.MultiPage1.Pages(Me.MultiPage1.Value).Controls
    If TypeName(ctl) = "TextBox" Or TypeName(ctl) = "ComboBox" Then ctl.Value = ""
Next

単一のアイテムをチェックして、次のことができることを知っています...

If TextBox1.Locked = True Then
    //Set value to ""
End If

このページにはたくさんの入力があるので、それもうまくいきません。このタスクを達成するために元のテクニックをどのように変更できるかについて何か考えはありますか?

4

1 に答える 1

2

これを試して。さまざまなコントロール タイプのニュアンスを処理するために、ロジックをもう少し分解してください。これでもエラーが発生する場合は、エラーが発生した行とエラー メッセージをお知らせください。

Dim ctl As Control
For Each ctl In Me.MultiPage1.Pages(Me.MultiPage1.Value).Controls
    Select Case TypeName(ctl) 
        Case "TextBox" 
            If Not ctl.Locked Then ctl.Value = ""
        Case "ComboBox"
            ctl.Value = ""
        Case Else
            'ignore other controls, or modify as necessary
    End Select
Next
于 2013-11-04T14:59:32.330 に答える