Eli... Kun nyt yritän tehdä tällaista arkistointiohjelmaa, josta sitten voisi etsiä tiettyjä osioita ja tallentaa formeja. Kaksi kysymystä:
1) Vaikka Text1 textboxiin kirjoittaa tietoa, jonka sitten haluaa tallentaa ohjelman sisään niin, että kun ohjelman seuraavaksi avaa on tieto säilynyt Text1:ssä. Jos mahdollista niin miten?
2) Millä komenolla projektin jokaisesta formista voi etsiä sanoja? Niin että ohjelma listaisi kaikki formit joista löytyy esim. sana "Ohjelmointiputka".
Kiitos jo etukäteen :)
lainaus:
1) Vaikka Text1 textboxiin kirjoittaa tietoa, jonka sitten haluaa tallentaa ohjelman sisään niin, että kun ohjelman seuraavaksi avaa on tieto säilynyt Text1:ssä. Jos mahdollista niin miten?
Tallennat TextBoxin sisällön tiedostoon ja luet sen sieltä kun ohjelma käynnistetään ja asetat sen takaisin TextBoxiin. Tiedostojen käytöstä on asiaa VB oppaassa: https://www.ohjelmointiputka.net/oppaat/opas.
lainaus:
2) Millä komenolla projektin jokaisesta formista voi etsiä sanoja? Niin että ohjelma listaisi kaikki formit joista löytyy esim. sana "Ohjelmointiputka".
Tarkoitatko nyt suunnittelutilassa tapahtuvaa etsintää vai ohjelman ajon aikana tapahtuvaa?
Niin siis ohjelman ajon aikana tapahtuvaa etsintää.
Ja kiitos tuosta ensimmäisestä.
lainaus:
2) Millä komenolla projektin jokaisesta formista voi etsiä sanoja? Niin että ohjelma listaisi kaikki formit joista löytyy esim. sana "Ohjelmointiputka".
Ajattelin aluksi tällaisen haun olevan vaikea toteuttaa, mutta yllättävän helposti se loppujen lopuksi onnistui. Lisää tämä aliohjelma vaikka moduuliin (.bas), niin voit kutsua sitä kaikkialta ohjelmastasi.
Sub EtsiTeksti(teksti As String) 'estetään virheenkäsittely (kaikilla kontrolleilla ei ole kaikkia ominaisuuksia) On Error Resume Next Dim formi, kontrolli, t, h 'etsittävä teksti pienenä t = LCase(teksti) 'käydään kaikki auki olevat formit läpi For Each formi In Forms 'käydään kaikki formin kontrollit läpi For Each kontrolli In formi.Controls 'kootaan kontrollin ominaisuudet, jotka usein sisältävät tekstiä (täydennä itse!) h = LCase(kontrolli.Caption) h = h + LCase(kontrolli.Text) h = h + LCase(kontrolli.Value) 'jos ominaisuuksista löytyy hakusana, näytetään ilmoitus If InStr(h, t) > 0 Then MsgBox "Löytyi formista " & formi.Name & " kontrollista " & kontrolli.Name End If Next Next End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.