Ciao
C'è un metodeo per bloccare (lockd) tutte le caselle di testo con un comando solo senza richiamare ogni volta tutti i nomi delle caselle?
Esempio
text1.lockd = true
text2.lockd = true
...ecc.
invece di richiamare ogni casella un unico comando
Ciao
C'è un metodeo per bloccare (lockd) tutte le caselle di testo con un comando solo senza richiamare ogni volta tutti i nomi delle caselle?
Esempio
text1.lockd = true
text2.lockd = true
...ecc.
invece di richiamare ogni casella un unico comando
Scusate ho sbagliato 3D sono un po distratto
in VBA si può fare così. Credo che qualcosa di simile si possa fare in VB
form.controls è l'insieme di tutti i controlli del formcodice:dim ctl as control for each ctl in form.controls if ctl.ControlType = acTextBox then ctl.locked=true next ctl
S'i fosse foco, arderei 'l mondo
fai un ciclo
For i=0 to 60
texti.locked0true
next i
A quanto ho capito dal titolo del treadh lui cerco info riguardo vb6,e mi sembra che il tuo codice sia x vba o per qualche altra versione di vb, cmq non è possibile inserire delle variabili all'interno del codice texti in questo modo.Originariamente inviato da drego85
fai un ciclo
For i=0 to 60
texti.locked0true
next i
Cmq se in tutti i tuoi campi testo hanno il nome che inizia per Text puoi usare il seguente codice:
Non è molto formale ma funziona, ho provato come diceva cik ad usarecodice:Public Sub LockAllText() On Error Resume Next Dim ctl As Control For Each ctl In Form1.Controls If Left$(ctl.Name, 4) = "Text" Then ctl.Locked = True Next End Sub
ctl.ControlType, ma non funziona!
L'istruzione da utilizzare per vedere se un controllo all'interno del form è una textbox è: TypeOf nomeoggetto Is tipooggetto
Quindi nel caso in questione:
If TypeOf ctl Is TextBox Then ctl.Locked = True
Ans.
Quindi
E' il codice correttocodice:Public Sub LockAllText() On Error Resume Next Dim ctl As Control For Each ctl In Form1.Controls If TypeOf ctl Is TextBox Then ctl.Locked = True Next End Sub