Condividi:        

Creare una o più TextBox dal Nulla

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Creare una o più TextBox dal Nulla

Postdi A.Maurizio » 19/11/16 13:04

Ciao a tutti ho ancora bisogno del vostro Aiuto per risolvere questo problema :
Dunque : Anni fa usando il VB 6.0 avevo creato questo Piccolo listato che mi dava la possibilità di creare una Text.text dal nulla e veniva poi posizionato in un Form.
Detto questo : Ahora io vorrei riuscire a ricreare la stessa cosa apportando ad essa una variante che e questa ?
Io Vorrei che mettendo un Numero che possa variare dall'1 al 15 all'interno di una textbox e potendo modificare questo listato , esso mi possa generare in forma automatica tante Textbox quanto e stato impostato dal numero immesso nella text principale.
Il Mio Lavoro principale era questo ; Logicamente scritto in VB 6 :
Codice: Seleziona tutto
Private Sub Command1_Click()
Dim Text As TextBox
Set Text = Form1.Controls.Add("VB.TextBox", "AReallyNewTextBox")

With Text
'Imposto la proprietà Visibile a True
.Visible = True
'Imposto le dimensioni della TextBox
.Height = 300
.Width = 1600
.Left = 200
.Top = 200
'Imposto il contenuto
.Text = "Ciao Gualtiero"
'Imposto il Font
.Font.Name = "Arial"
Text.BackColor = vbYellow
Text.ForeColor = vbBlue
End With
End Sub


(P.s) Per essere un pochino più chiaro ; Il Tutto si dovrebbe svolgere in questo modo :
1 ) Mettere a posto questo codice perché possa funzionare anche in VBA
2 ) In un Userform inserire una Textbox ho Sfruttare un MSGBox per impostare un Numero che possa variare dall'1 al 15 in modo tale che tale numero venga memorizzato.
3 ) che Premendo un Tasto tale codice ; Esso mi Crei tante textbox quanto e stato richiesto dal numero memorizzato.

Ora non pretendo che mi facciate voi tutto il lavoro , ma soltanto che mi facciate capire come procedere .
Grazie per tutto l'aiuto che mi saprete dare in merito , Sinceri saluti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Sponsor
 

Re: Creare una o più TextBox dal Nulla

Postdi alfrimpa » 19/11/16 13:46

Ciao A.Maurizio

In pratica tu vorresti creare una userform con i suoi controlli con il VBA?

Se è così prova a fare una ricerca con Google con "excel vba create userform controls at Runtime"

e verranno fuori molti link (purtroppo tutti in inglese)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Creare una o più TextBox dal Nulla

Postdi patel » 19/11/16 15:50

crea una userform vuota e prova questo codice
Codice: Seleziona tutto
Private Sub UserForm_Initialize()
Dim TBarray(0 To 5) As Control
intTop = 0
For i = 0 To 5
  Set TBarray(i) = Controls.Add("Forms.TextBox.1", "TextBox" & i)
  TBarray(i).Top = intTop + 20
  TBarray(i).Text = "Name: " & TBarray(i).Name
  intTop = intTop + 20
Next i
End Sub
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: Creare una o più TextBox dal Nulla

Postdi A.Maurizio » 19/11/16 17:43

Ciao Patel come stai ! Grazie del Suggerimento Funziona alla Grande.
Ora però non ti resterebbe altro che dirmi come io potrei anche solo sfruttando un Inputbox per creare una domanda come ad esempio ("Quante TextBox Vuoi...!")
E alla fine di Tutto dovrebbero potermi comparire ciò che scrivo nella Variabile Inputbox .
Nel tuo caso ho pensato che potrebbe andare bene una cosa di questo genere :

Codice: Seleziona tutto
Domanda=inputbox("Quante TextBox Vuoi...!"), TotText
i=TotText
'e poi Inserire il tutto nel For :

For i=0 to TotText
ecc...!


Secondo te potrebbe funzionare il tutto ho finisco per creare un Crash infinito .
Solo più Questo che io vorrei riuscire a risolvere .
Grazie per il tuo Suggerimento Sinceri Saluti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Creare una o più TextBox dal Nulla

Postdi A.Maurizio » 19/11/16 18:30

Ciao patel ascolta Non tenere più presente la mia richiesta di prima in quanto il mistero e stato risolto usando questa tecnica :
Codice: Seleziona tutto
Private Sub UserForm_Initialize()

Dim TBarray(0 To 15) As Control
intTop = 0: IntWidth = 0: IntHeight = 0: IntLeft = 0

Domanda = InputBox("Quante TextBox Vuoi")

i = Domanda
For i = 0 To Domanda
Set TBarray(i) = Controls.Add("Forms.TextBox.1", "TextBox" & i)

TBarray(i).Height = IntHeight + 15
TBarray(i).Left = IntLeft + 6
TBarray(i).Top = intTop + 30
TBarray(i).Width = IntWidth + 138

TBarray(i).Text = "Name: " & TBarray(i).Name

IntHeight = IntHeight + 15
IntLeft = IntLeft + 6
intTop = intTop + 30
IntWidth = IntWidth + 138
Next i
End Sub


Per qui come puoi vedere il mistero e stato risolto Egregiamente .
Però se non ti creo molto fastidio ed intralcio con il tuo lavoro Principale , vorrei chiederti un ultimo Aiutino che e questo :
Ahora se tu provi ad inserire il tutto in un Userform , noterai sicuramente che come concetto non fa una piega ; Il problema che io vorrei risolvere e questo :
Io vorrei riuscire a Dimensionare tutte le textbox in modo tale che abbiano tutte quante la stessa dimensione , come vedi io ho provato ad adottare la tecnica del (Height - Left - Top - Width) ma come puoi vedere da te Teoricamente la cosa funziona , solo che man mano che si scende con la visualizzazione delle Textbox l'ultima ad esempio risulta Enorme.
Perché e come posso ovviare a tutto ciò .
Grazie per Tutto l'aiuto che riuscirai a darmi in merito Saluti e Buon Fine Settimana a Tutti da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Creare una o più TextBox dal Nulla

Postdi A.Maurizio » 19/11/16 19:21

Per Correttezza Invito Patel e Tutti gli Altri , nel non tenere più conto di queste ultime mie richieste in quanto ho risolto da me tale Problema.
Grazue comunque dei vostri suggerimenti e degli aiuti per il raggiungimento finale anche per questo caso.
Ribadisco i miei Saluti a Tutti Voi e un Buon Fine Settimana, ve lo meritate Veramente da A.Maurizio
A.Maurizio
Utente Senior
 
Post: 116
Iscritto il: 02/08/13 15:39

Re: Creare una o più TextBox dal Nulla

Postdi patel » 19/11/16 19:23

Codice: Seleziona tutto
Private Sub UserForm_Initialize()

Dim TBarray(0 To 15) As Control
intTop = 0: IntWidth = 138: IntHeight = 15: IntLeft = 6

Domanda = InputBox("Quante TextBox Vuoi")

i = Domanda
For i = 0 To Domanda
Set TBarray(i) = Controls.Add("Forms.TextBox.1", "TextBox" & i)

TBarray(i).Height = IntHeight
TBarray(i).Left = IntLeft
TBarray(i).Top = intTop + 30
TBarray(i).Width = IntWidth

TBarray(i).Text = "Name: " & TBarray(i).Name
intTop = intTop + 30
Next i
End Sub
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03


Torna a Applicazioni Office Windows


Topic correlati a "Creare una o più TextBox dal Nulla":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti