Hei,
Mulla on commandbutton, jota painamalla pitäisi saada soluun luettua tekstitiedostosta aina viimeisin rivi (yksi rivi = yksi numerosarja).
Sitten kun seuraavalla kerralla kun painan, niin siihen +1 ja niin edelleen... Siis eräänlainen laskuri...
Katselin tuota VB-oppaan tiedosto-juttua, mutta mutta toi et miten saan aina viimeisen rivin luettua niin ei auennut... Tallennus (append) ja +1 osaan...
Ja sit sellanen vielä et miten saan estettyä buttonien ilmestymisen kun printtaan paperille sen worksheetin... Toki saa sillain et valitsee vaan et tulosta sivu 1, koska buttonit ilmestyy vasta seuraavalle arkille...
Kiitos.
1. Kysymys: Lue tiedot textitiedostosta taulukkoon.
Ubound(taulukko) kertoo taulukon viimeisen solun. Lue tuo johonkin muuttujaan, jota vähentämällä yhdellä luet aina seuraavan(edeltävän) tiedon.
Sub Teksti() Dim i As Integer, ViimeinenRivi As Integer Dim rivit() As String i = FreeFile ReDim rivit(0) Open "c:\Test.txt" For Input As #i Do While Not EOF(i) 'Jos taulukossa ei ole tietoja, niin riviä ei tarvitse lisätä, 'vaan tiedot saa lukea olemassa olevaan soluun. 'Muuten lisätään taulukkoon rivi ReDim Preserve:llä, että aikaisemmat 'tiedot säilyvät. If rivit(0) <> "" Then ReDim Preserve rivit(UBound(rivit) + 1) Line Input #i, rivit(UBound(rivit)) Loop Close #i ViimeinenRivi = UBound(rivit) MsgBox rivit(ViimeinenRivi) & " on viimeinen rivi" & vbCrLf _ & rivit(ViimeinenRivi - 1) & " on toiseksi viimeinen" End Sub
2. kysymys: Aseta buttonien PrintObject falseen.
Jos haluat, että buttonit printataan jossain tietyssä tilanteessa, niin laita ThisWorkbook:iin seuraava koodi itsellesi sovitettuna.
Private Sub Workbook_BeforePrint(Cancel As Boolean) If PrintataanButtonitkin = True Then Sheet1.CommandButton1.PrintObject = True Else Sheet1.CommandButton1.PrintObject = False End If End Sub
Edit: Vastaus ekaan kysymykseen...
Kiitän vastauksesta. Sain toimimaan...
Aihe on jo aika vanha, joten et voi enää vastata siihen.