Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA: Newbie kysymyksiä

amakela [12.03.2005 08:57:12]

#

En löytänyt seuraavanlaista täältä:

Command buttonia painamalla formiin lisätään esim. textbox?
Jonkinlaisen VBA esimerkin löysin, mutta ilmeisesti tapahtuu eri tavalla VB6:ssa?

Viitsisikö joku kirjoittaa tähän simppelin esimerkin.

Olisi myös mukava saada esimerkki pätkä Controlarray:stä

Lumi-ukkeli [12.03.2005 11:02:03]

#

En ole aivan varma, mutta suunnilleen tällaisella koodilla alkaisin hommailemaan:

Dim uusiboxi as object / textbox
Set uusiboxi = New textbox / CreateObject(TextBox)
uusiboxi.width = 100
uusiboxi.height = 100
uusiboxi.top = 100
uusiboxi.left = 100
uusiboxi.show

amakela [12.03.2005 11:44:54]

#

Mikäköhän mahtaa mätätä, new text antaa invalid use of new keyword.

Ja CreateObject taas activeX control cant create object ??

Lumi-ukkeli [12.03.2005 12:40:25]

#

en tiedä sitten

amakela [12.03.2005 18:34:41]

#

Löytyihän se... jos jotakuta kiinnostaa

Dim txtBoks As TextBox
Set txtBoks = Form1.Controls.Add("VB.TextBox", "newtextbox")

With txtBoks
   .Left = 0
   .Top = 0
   .Width = 2000
   .Height = 500
   .Text = "Hello"
   .Visible = True
End With

tuomas [13.03.2005 10:54:29]

#

Eli esimerkkejä koskinen tuota kontrollitaulukkoa (ehkä huono käännös tuosta ControlArraystä)

Esimerkki1

'Luo formille aluksi yksi tekstiloota ja aseta sen index = 0.
Dim I As Integer

'luodaan 10 uutta tekstilootaa formille.
'niiden nimet ovat sitten text1(1), text1(2) .. text1(10)
For I = 1 to 10
    load text1(i)
Next

Esimerkki2

'sinulla on formilla vaikka äsken luodut tekstilootat 10 kpl, text1(1) - text1(10)
Dim I As Integer
Dim Laskuri As integer

For I = 1 to 10
    if text1(i).text = "testi" then 'katsotaan onko text ominaisuuden arvona sana "testi"
       laskuri = laskuri + 1 'jos on lisätään laskuuriin 1 lisää.
    end if
Next

msgbox i & ":stä tekstilootista / tekstilootasta löytyi sana testi"

Esimerkki3

'sinulla on taas formilla text1(1) - text1(10) tekstilootat
Dim I As Integer

'asettaa jokaisen tekstilootan tekstiksi "moi"
For I = 1 to 10
    text1(i).text = "Moi!"
Next

Edit: typoja..

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta