Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VBA & Excel

TheHanz [09.01.2007 11:32:29]

#

Mitenköhän onnistuisi?
Minulla on txt -tiedosto, johon ohjelmakoodini lisää tietoa rivi riviltä. Minun pitäisi saada kopioitua haluttu rivi txt -tiedostosta excelin tietylle solulle, esim. c 6

neau33 [09.01.2007 17:37:48]

#

Moikka TheHanz!

Pari esimerkkiä...

Jos tarvitaan vain tekstitiedoston ensimmäinen rivi niin...

Private Sub CommandButton1_Click()
Open "polku\tiedosto.txt" For Input As #1:Input #1, hlpStr$: Close #1
ActiveSheet.Range("C6").Value = hlpStr$
End Sub

Jos tarvitaan vain tekstitiedoston viimeinen rivi niin...

Private Sub CommandButton1_Click()
Open "polku\tiedosto.txt" For Input As #1
Do While Not EOF(1): hlpStr$ = "": Input #1, hlpStr$: Loop: Close #1
ActiveSheet.Range("C6").Value = hlpStr$
End Sub

'Jos rivi on poimittava tekstitiedoston keskellä niin se on määriteltävä erikseen *"haluttu tieto"

Private Sub CommandButton1_Click()
Open "polku\tiedosto.txt" For Input As #1 'avataan tiedosto lukua varten
Do While Not EOF(1) 'pyöritään silmukassa tiedoston loppuun
Input #1, hlpStr$ 'haetaan tiedostosta rivi muuttujaan
If hlpStr$ = "haluttu tieto" Then  '*ja jos haluttu tieto löytyy...
Exit Do '...poistutaan silmukasta kesken kaiken...
Else: hlpStr$ = "" 'muutoin tyhjennetään muuttuja
End If
Loop
Close #1 'suljetaan tiedosto
If hlpStr$ <> "" Then ActiveSheet.Range("C6").Value = hlpStr$ 'sijoitetaan muutujan arvo soluun c6
End Sub

'Jos halutaan tekstitiedoston jokainen rivi alekkain omaan soluunsa niin...

Private Sub CommandButton1_Click()
Open "polku\tiedosto.txt" For Input As #1
j& = 6  'esim. riviltä 6 alkaen
Do While Not EOF(1): Input #1, hlpStr$
ActiveSheet.Range("C" & Trim$(Str$(j&))).Value = hlpStr$: hlpStr$ = "": j& = j& + 1: Loop: Close #1
End Sub

Vastaus

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

Tietoa sivustosta