| |
New user
Beiträge: 3
| Hallo Karl,
Danke für die Antwort.
Zu Punkt 2:
2. Nicht jeder Control-Typ besitzt die Eigenschaft "Enabled". Bei den Nichtbesitzern haut's den Code auf.
Ich erhalte den Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
Hab mal folgenden Code zum testen eingefügt:
Select Case ctl.Name
Case "Einrichter" ‘ Textfeld Control Typ 109
MsgBox (ctl.Name & vbCrLf & Me.Einrichter.Properties.Item(2))
Me.Einrichter.Enabled = True 'Wenn ich das Control mit Name anspreche geht es
Me(ctl.Name).Enable = True 'Wenn ich über den ctl.Name gehe kommt der Laufzeitfehler 438
Case "Excel" 'Schaltfläche Control Typ 104
MsgBox (ctl.Name & vbCrLf & Me.Excel.Properties.Item(2))
Me.Excel.Enabled = True 'Wenn ich das Control mit Name anspreche geht es
Me(ctl.Name).Enable = False 'Wenn ich über den ctl.Name gehe kommt der Laufzeitfehler 438
Da mein Formular in nächster Zeit immer wieder geändert werde soll würde ich gerne alle Controls durchlaufen und alle bis auf 2 Definierte freigeben.
For Each ctl In Me.Controls
Select Case ctl.Name
Case "Sperren_Entsperren"
Me.Sperren_Entsperren.Enabled = True
Case "SuchtextName"
Me.SuchtextName.Enabled = True
Case "SuchTelNr"
Me.SuchtextName.Enabled = True
Case Else
Select Case ctl.Properties.Item(2)
Case 109 ' Textfeld zur Eingabe eines Wertes
Me(ctl.Name).enable = False
Case 104 ' Schaltfläche Um Befehle / Macrods auszuführen
Me(ctl.Name).enable = True
Case Else ' Für alle anderen Fälle( Wenn der Typ eines Feldes ausgelesen werden soll, einfach
' Kommentar der MsgBox Zeile entfernen
'MsgBox (ctl.Name & vbCrLf & "Typ ID: " & ctl.Properties.Item(2))
End Select
End Select
Gruß
Mozi
| |
|