Miten lisätään objekti suorituksen aikana. Eli kysyn siis koodivinkkiä, miten voin esim. Commandbuttoniin kirjoittaa koodin joka lisää textbox:in lomakkeeseen. Tarvitsisin Vba -koodia.
objektin lisäys
6
542
Vastaukset
- ...
Jos tekstiruudun sijoittaa lomakkeelle ja määrittelee sen ensin näkymättömäksi (esim. Teksti1.Visible=FALSE). CommandButton-kontrollissa Teksti1.Visible=TRUE toisi tekstiruudun uudelleen lomakkeelle näkyviin. Samalla tekstiruudun kokoa ja sijaintia voisi tarvittaessa muuttaa?
- -jk-
VB6:ssa näin; en tiedä, toimiiko VBA:na.
Set txtBox1 = Controls.Add("VB.TextBox", "Text1")
With txtBox1
.Width = 2000
.Height = 300
.Top = 500
.Left = 50
.Visible = True
.Text = "Eka tekstipoksi"
End With
Set txtBox2 = Controls.Add("VB.TextBox", "Text2")
With txtBox2
.Width = 2000
.Height = 300
.Top = 500
.Left = 2250
.Visible = True
.Text = "Toka tekstipoksi"
End With- peetee
Eipä näytä vba:ssa toimivan.
- Petri_Petri
Itse olen tehnyt tuon niin, että olen tehnyt yhden indeksikontrollin formille, koska käsittääkseni ilman sitä ei kontrolleja voi lisätä. Tai se on ainakin helpoin tapa.
Eli lisää formille TextBox:
- laita nimeksi mikä tahansa, vaikka MunTekstiKontrolli
- laita Index-properties nollaksi (jotta se on taulukkokontrolli eli indeksikontrolli)
- laita kontrollin Visible-properties Falseksi, jotta se ei näy formissa
Sitten kun haluat ottaa sen käyttöön, niin muuta kontrollin Visible-properties Trueksi.
Nyt voit myös lisätä TextBoxeja kuinka monta tahansa.
- Kontrollin lisäys: Load MunTekstiKontrolli(1)
- Muuta se näkyväksi: MunTekstiKontrolli(1).Visible=True
- Aseta sille koordinaatit, esim.: MunTekstiKontrolli(1).Top=100:MunTekstiKontrolli(1).Left=500
- Määritä sen koko, esim.: MunTekstiKontrolli(1).Height=1000:MunTekstiKontrolli(1).Width=2000
Sama toimii myös muiden kontrollien kohdalla.- peetee
Tuo ei ilmeisesti toimi vba:ssa, koska siinä ei objekteilla ole ominaisuutta index. Vb 6:ssa tuo kyllä toimii.
- Petri_Petri
peetee kirjoitti:
Tuo ei ilmeisesti toimi vba:ssa, koska siinä ei objekteilla ole ominaisuutta index. Vb 6:ssa tuo kyllä toimii.
Luulin että kysyit sitä VB:stä. En ole paljon tehnyt VBA:lla, mutta täytyihän tuota yrittää.
Sain sen toimimaan Excelillä. Eli kun olet tehnyt formin (joka alla on nimellä "UserForm1"), niin seuraava ohjelmakoodi lisää aina uuden tekstikontrollin. Se tulee suoraan näkyviin, joten visible-propertiesta ei tarvitse asettaa Trueksi. Alla olevassa esimerkissä uusi TextBox tulee edellisen alle, jotta ne eivät mene päällekkäin. Uuden kontrollin tekstisisällöksi tulee sen Y-koordinaatti (eli TOP-properties).
Sub TekstikontrollinLisäys()
'Tämä lisää Excel-formiin uuden tekstiboxin
'Laitetaan se aina 20 pistettä edellisen alle
Dim UusiKontrolli As Control
Static Y
Set UusiKontrolli = UserForm1.Controls.Add("forms.textbox.1")
Y = Y 20
UusiKontrolli.Text = Str$(Y)
UusiKontrolli.Top = Y
End Sub
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Vilma Nissinen pyytää anteeksi rasistisia lausuntojaan
Nöyrtyi kuten persut yleensäkin. On kyllä noloa tuollainen vätystely, kun ei ole miestä seisoa omien lausuntojensa takan2133319Riikka Purra: "Kokoomus haluaa leikata pienituloisten etuuksista - Se ei meille käy"
Näin vakuutti persujen Purra edellisten eduskunta vaalien alla,. https://www.ku.fi/artikkeli/4910942-kun-uudessa-videos622034Sandels tölkin hinta nousi 1,29 eurosta 1,32 euroon
Mitähän järkeä valtiolla on verottaa tuotakin elintarviketta niin kovasti, että on järkevämpää käydä hakemassa ulkomailt391662Lindtmanin pääministeriys lähenee päivä päivältä
Suomen kansan kissanpäivät alkavat siitä hetkestä, kun presidentti Stubb on tehnyt nimityksen. Ainoastaan ylin tulodesi651603- 1051347
Tuntuuko sinusta mies
että olet jossain, mutta sydämessäsi haluat olla muualla. Suunnittelet kaikkea kivaa ja olet innolla mukana, mutta silti221245Ikävä uutinen uudesta Unelmia Italiassa kaudesta - Iso pettymys tv-katsojille!
Unelmia Italiassa -sarja kertoo Ellen Jokikunnaksen perheen elämästä Suomessa ja Italiassa. Nyt Ellen on kertonut tuleva61050Rakastan sitä
kun uppoat selittämään jotain. Etsit oikeaa tapaa sanoa jotain, jonka olet jo etukäteen miettinyt, sekoat vähän sanoissa501043Jokaisella tytöllä on supervoimansa
Millaisia ajatuksia artikkeli herättää? Mainos: Dove | ”Itsetuntoni oli ihan romuttunut” – Peppina Rosén haastaa tavan197984Mitä tapahtuisi....
Meidän välillä jos törmäisimme yöelämässä ilman häiriötekijöitä ja olisimme hieman huppelissa? Päättyisikö ilta kenties61947