各位大哥,这问题我纠结很久,也找过很多资料,可是没达到想要的效果。
一个文本,里面有20行,我想用VB读取第5行到第10行的内容,然后在TEXTBOX显示出来。
重点我是想用最短的代码达成效果,相关的资料也行。
代码很长的就不用了,每取一行都几行代码,然后再合起来。
我的分数是不多,不是有没有高人愿意帮下我?
我搜索的时候都没找到相关的问题。

解决方案 »

  1.   

    InStr(Chr(13) + Chr(10)) 4次取得开始,9次取得结束。用Mid得到文本。
      

  2.   

    Text1的Multiline属性设为 TrueDim aa$, i&, S
    Private Sub Command1_Click()
      Open "c:\temp.txt" For Input As #1
      aa = StrConv(InputB(LOF(1), 1), vbUnicode)
      Close #1
      S = Split(aa, vbNewLine)
      aa = ""
      For i = 4 To 9 '第5到第10行 从0起算
         aa = aa & S(i) & vbCrLf
      Next i
      Text1.Text = aa
    End Sub
      

  3.   

    大哥,解释一下,我看到这东西好复杂,这段代码是知道里面有几行的了吧?如果不我知道那怎么办啊?
    下面这段代码是我参考jessezappy回复的帖子修改的,是不知道文本里面有几行的。
    我用IF和FOR试过写,无奈不成功,请赐教。
    Dim ap, vt As String
    ap = App.Path + "\" + "Label.txt"
    Open ap For Input As #1
      Do While Not EOF(1)
      Line Input #1, vt
      i = i + 1
      Select Case i
       Case 5 to 10
       text1.tetx = text1.text & vt
      End Select
      

  4.   

    Dim ap, vt As String
    ap = App.Path + "\" + "Label.txt" 
    Open ap For Input As #1
      Do While Not EOF(1)
      Line Input #1, vt
      i = i + 1
      Select Case i
       Case 5 to 10
       text1.text = text1.text & vt
       End Select
      Loop
      Close #1搞错了,这才是正确的
      

  5.   

    S = Split(aa, vbNewLine)
    msgbox "文本共有:" & Cstr(Ubound(s) + 1) & " 行"上面代码就是原来并不知道有几行, 利用换行符才得知有几行的.你可以这样Dim Tlines&,S
    S = Split(aa, vbNewLine)
    Tlines = Ubound(s) + 1当你要 Select Case的时候,你要判断是否超过了本文件的总行数 Tlines