把文本文件内容读取TextBox: Dim TempFile As Long Dim LoadBytes() As ByteTempFile=FreeFile Open 文件名 For Binary As #TempFile Redim LoadBytes(1 To Lof(TempFile)) As Byte Get #TempFile,,LoadBytes Close TempFileText1.Text=StrConv(LoadBytes,vbUniCode)'查找制定的文字 Private Function GetX(ByVal strSource As String, ByVal strX As String) As Integer Dim i As Integer Dim j As Integer
i = InStr(1, strSource, strX) j = 0 Do While i <> 0 i = InStr(i + 1, strSource, strX) j = j + 1 Loop
GetX = j End Function
也可以读到一个listbox中,可以直接操作制定行,用trim判断空行。
FileNumber = FreeFile Open "指定路径文本文件" For Input As #FileNumber Do While Not EOF(FileNumber) '开始循环文本行 Line Input #FileNumber, strLine '查找指定文字 If InStr(strLine, "指定文字") <> 0 Then ………… End If '读取指定行数 x = x + 1 if x = 18 then ………… End If '判断空行 if len(strline) = 0 then ………… Upline '处理上一行 :) End If Upline = strline '保留上一行,待下一行为空行时使用,办法笨一点,但实用 Loop Close #FileNumber
FileNumber = FreeFile Open "指定路径文本文件" For Input As #FileNumber Do While Not EOF(FileNumber) '开始循环文本行 Line Input #FileNumber, strLine txt = txt & vbCrLf &strline '判断空行 if len(strline) = 0 then text1.text = txt End If Loop Close #FileNumber
谢谢!!! 请您帮助看看已下问题: 在command1里,显示找到给定字符串行数 在command2里,显示给定行数的字符串 我想把command1里找到的行数直接赋给command2里的行数,如在command1里找到的行数为2,那么就读取lngLine +2,lngLine +4,lngLine +6的数据,请教该如何修改以下代码,谢谢!!!! Private Sub Command1_Click() Dim lngLine As Long Dim strLine As String Open "C:\aaa.txt" For Input As #1 Do Until EOF(1) lngLine = lngLine + 1 '记数 Line Input #1, strLine '一行一行地读 If Trim(strLine) = "如果是第2行就打印出来" Then '如果是第2行就打印出来 MsgBox lngLine '行数 Print lngLine End If Loop Close #1 '关闭打开的文件
End SubPrivate Sub Command2_Click() Dim lngLine As Long Dim strLine As String Open "C:\aaa.txt" For Input As #1 Do Until EOF(1) lngLine = lngLine + 1 '记数 Line Input #1, strLine '一行一行地读 If lngLine = 2 Then '如果是第2行就打印出来 MsgBox strLine Print strLine End If If lngLine = 4 Then MsgBox strLine '显示字符串 Print strLine End If If lngLine = 6 Then MsgBox strLine '显示字符串 Print strLine End If If lngLine = 8 Then MsgBox strLine '显示字符串 Print strLine End If Loop Close #1 '关闭打开的文件 End Sub
Dim filetxt As String, x As Variant, i As Integer, Lines As Integer Txtfile = "文本文件" filetxt = String(FileLen(Txtfile), " ") Open Txtfile For Binary As 1 Get #1, , filetxt Close 1 x = Split(filetxt, vbCrLf) '得到一个x()数组,每一个x元素是一行文本 Lines = UBound(x) '得出文本总行数,从x(0)开始,最后一行是空行 For i = 0 To Lines - 1 '开始查找你的起始行得到变量s If InStr(x(i), "指定字符") > 0 Then s = i + 1 '当某一行包含指定字符时,将行数赋值给 s Exit For '退出循环 End If '………… Next For i = s To lins - s '开始处理 i = i + 1 '增加一个隔行 Next
Dim TempFile As Long
Dim LoadBytes() As ByteTempFile=FreeFile
Open 文件名 For Binary As #TempFile
Redim LoadBytes(1 To Lof(TempFile)) As Byte
Get #TempFile,,LoadBytes
Close TempFileText1.Text=StrConv(LoadBytes,vbUniCode)'查找制定的文字
Private Function GetX(ByVal strSource As String, ByVal strX As String) As Integer
Dim i As Integer
Dim j As Integer
i = InStr(1, strSource, strX)
j = 0
Do While i <> 0
i = InStr(i + 1, strSource, strX)
j = j + 1
Loop
GetX = j
End Function
Open "指定路径文本文件" For Input As #FileNumber
Do While Not EOF(FileNumber) '开始循环文本行
Line Input #FileNumber, strLine
'查找指定文字
If InStr(strLine, "指定文字") <> 0 Then
…………
End If
'读取指定行数
x = x + 1
if x = 18 then
…………
End If
'判断空行
if len(strline) = 0 then
…………
Upline '处理上一行 :)
End If
Upline = strline '保留上一行,待下一行为空行时使用,办法笨一点,但实用
Loop
Close #FileNumber
if len(trim(strline)) = 0 then
如有一:a.txt
内容为:aaaa
eeee
gggg
hhhhffff
hhhh
hhhh我想查找aaa在第几行,并把aaa下面的到空行之间的每行数据(行数不确定)显示出来:
aaaa
eeee
gggg
hhhh
谢谢!!!!
Open "指定路径文本文件" For Input As #FileNumber
Do While Not EOF(FileNumber) '开始循环文本行
Line Input #FileNumber, strLine
txt = txt & vbCrLf &strline
'判断空行
if len(strline) = 0 then
text1.text = txt
End If
Loop
Close #FileNumber
请您帮助看看已下问题:
在command1里,显示找到给定字符串行数
在command2里,显示给定行数的字符串
我想把command1里找到的行数直接赋给command2里的行数,如在command1里找到的行数为2,那么就读取lngLine +2,lngLine +4,lngLine +6的数据,请教该如何修改以下代码,谢谢!!!!
Private Sub Command1_Click()
Dim lngLine As Long
Dim strLine As String Open "C:\aaa.txt" For Input As #1
Do Until EOF(1)
lngLine = lngLine + 1 '记数
Line Input #1, strLine '一行一行地读
If Trim(strLine) = "如果是第2行就打印出来" Then '如果是第2行就打印出来
MsgBox lngLine '行数
Print lngLine
End If
Loop
Close #1 '关闭打开的文件
End SubPrivate Sub Command2_Click()
Dim lngLine As Long
Dim strLine As String
Open "C:\aaa.txt" For Input As #1
Do Until EOF(1)
lngLine = lngLine + 1 '记数
Line Input #1, strLine '一行一行地读
If lngLine = 2 Then '如果是第2行就打印出来
MsgBox strLine
Print strLine
End If
If lngLine = 4 Then
MsgBox strLine '显示字符串
Print strLine
End If
If lngLine = 6 Then
MsgBox strLine '显示字符串
Print strLine
End If
If lngLine = 8 Then
MsgBox strLine '显示字符串
Print strLine
End If
Loop
Close #1 '关闭打开的文件
End Sub
Txtfile = "文本文件"
filetxt = String(FileLen(Txtfile), " ")
Open Txtfile For Binary As 1
Get #1, , filetxt
Close 1
x = Split(filetxt, vbCrLf) '得到一个x()数组,每一个x元素是一行文本
Lines = UBound(x) '得出文本总行数,从x(0)开始,最后一行是空行 For i = 0 To Lines - 1
'开始查找你的起始行得到变量s
If InStr(x(i), "指定字符") > 0 Then
s = i + 1 '当某一行包含指定字符时,将行数赋值给 s
Exit For '退出循环
End If
'…………
Next
For i = s To lins - s
'开始处理
i = i + 1 '增加一个隔行
Next