Tarkoitus olisi saada tallenettua vaikka Form 1 olevat Text1, Text2 ja Text3 kentät samaan tiedostoon jonka nimi tulisi suoraan Text1 kentän tekstistä. Onko mahdollista ?
Dim nro As Integer
nro = FreeFile
Open text1.text & ".txt" For Output As #nro ' ton voit vaihtaa ton txt jos haluut toiseen tiedostomuotoon
Print #nro, Text1.Text
print #nro, text2.text
print #nro, text3.text
Close #nro
vielä yksi tarkennus: jos haluan tallentaa sen tiedoston vaikka seuraavaan polkuun "c:\testi" ja siellä kyseinen tietue tallentuisi nimellä jonka kirjoitan text1 kenttään.
Niin mihin kohtaan tuo polku lisätään ?
Dim nro As Integer
nro = FreeFile
Open "c:\testi\" & text1.text & ".txt" For Output As #nro
Print #nro, Text1.Text
print #nro, text2.text
print #nro, text3.text
Close #nro
en tiedä tarkoititko että testi on kansio mutta tuosta voit päätellä että jos et tarkoittanut niin mitä poistetaan :D
Muuta Open-alkuista riviä seuraavanlaiseksi vaikkapa:
Open "C:\" & text1.text & ".txt" For Output As #nro
vak. Tesmu ehti eka. :j
Kiitos, nyt se toimii juuri niinkuin tarkoitinkin :]
ja sitten vielä, jos haluan avata tietyn tiedoston sieltä c:\testi"
tiedostosta, esimerkiksi sen joka lukee "Text1" kentässä, kuinka se tapahtuu. Sen voisi aukaista vaikka MsgBox kenttään ?
On Error resume next
Dim nro As Integer
Dim srtrivi As String
Dim srtjuttu As String
nro = FreeFile
Open "c:\testi\" & text1.text & ".txt" For Input As #nro
Do Until EOF(nro) = True
Input #nro, srtrivi
srtjuttu = srtjuttu & srtrivi & vbCrLf
Loop
Close #nro
msgbox srtjuttu
Exit Sub
Tiedostojen käsittelystä lisää oppaasta
ehkä tyhmä kysymys, mutta kun ei tahdo toimia. mistä ohjelma tietää polun mistä hakea kyseisen tiedoston ?
Eli jos tallennan tietueen nimeltä tst1 sinne "c:\testi"
miten saan avattua kokonaisuudessaan vaikka msgbox:iin
joo kiitos vinkistä blaze, oppaat osataan kohta ulkoa, mutta tähän en löydä apuja :[
No juurikin noin, ku tesmu kirjotti. Laitat vaan absoluuttisen hakemistopolun tuohon Openiin.
nyt toimii hienosti ! kiitos
vielä pari kysymystä sivuten aihetta.
1. jos haluaisin tuon tiedoston aukenevan msgbox sijasta vaikka tetxt1 ikkunaan, miten sen voisi muuttaa ( kun en vain keksi ratkaisua )
2. voinko tehdä vb:llä esimerkiksi tähän "ohjelman" pätkään haku toimintoa, joka hakisi nimellä valitun tiedoston vaikka msboxiin ( eli avaisin ikkunan johon tiedoston nimi kirjoitetaan ja painetaan nappia, niin kyseinen tiedosto aukeaa msgbox:iin )
1. (En ole kyllä ihan varma, mitä tarkoitat ikkunalla.)
On Error resume next Dim nro As Integer Dim srtrivi As String Dim srtjuttu As String nro = FreeFile Open "c:\testi\" & text1.text & ".txt" For Input As #nro Do Until EOF(nro) = True Input #nro, srtrivi srtjuttu = srtjuttu & srtrivi & vbCrLf Loop Close #nro Textbox1.Text = srtjuttu Exit Sub
TJR kirjoitti:
voinko tehdä vb:llä esimerkiksi tähän "ohjelman" pätkään haku toimintoa, joka hakisi nimellä valitun tiedoston vaikka msboxiin ( eli avaisin ikkunan johon tiedoston nimi kirjoitetaan ja painetaan nappia, niin kyseinen tiedosto aukeaa msgbox:iin )
Tokihan se on mahdollista. Valitettavasti en osaa "vanhan" VB:n tiedostonhallintafunktioita(vain .NETin), joten joku muu auttanee.
Juu kiitos vaan, toimii ihan hienosti. miten siihen saisi vielä ominaisuuden, niin että jos ohjelma ei löydä haettua tiedostoa niin se jättäisi tuon textboxin tyhjäksi.
nyt se jumittaa koko ohjelman.
Katso eka onko tiedosto olemassa:
if dir(tiedostopolku&nimi) then 'löytyy else 'ei löydy msgbox "virhe" endif
Aihe on jo aika vanha, joten et voi enää vastata siihen.