各位大虾,小弟初学VBA技术,水平有限,现在有个问题,需要读取单个文本的多个条件字符串,提取出来并拼接成为一个字符串填入其他单元格,如果用我下面的方法的话,只能适用于文本文件较小的情况下,因为我试验过, 当文本文件很大,且条件字符串相对靠后的话(因为读入strtemp缓冲中的长度受到限制),则会不能成功,看有没有别的办法能够解决我的问题,多谢各位了。
Sub EAB()
Dim nFileSrc As Integer
Dim strtemp As String Open "D:\M2000.txt" For Input As #1 strtemp = Input(45000, #1)
'获取Version关键字的起始位置,赋值给p1
p1 = InStr(strtemp, "Version")
MsgBox Mid(strtemp, p1 , 23) '获取SMTXPWSWI关键字的位置
p2 = InStr(strtemp, "SMTXPWSWI=")
MsgBox Mid(strtemp, p2, 13) '获取BUPWRSVSCHDL关键字的位置
p3 = InStr(strtemp, "BBUPWRSVSCHDL=")
MsgBox Mid(strtemp, p3, 17) 'SHEET2 页面增加多个字符串连接起来的信息并根据 GetName(Ke) 进行填充
SHEET2Info.Add (GetName(Ke) & "\" & Mid(strtemp, p1, 23) & "\" & Mid(strtemp, p2, 13) & "\" & Mid(strtemp, p3, 17)), ""
Close #1
End Sub
Sub EAB()
Dim nFileSrc As Integer
Dim strtemp As String Open "D:\M2000.txt" For Input As #1 strtemp = Input(45000, #1)
'获取Version关键字的起始位置,赋值给p1
p1 = InStr(strtemp, "Version")
MsgBox Mid(strtemp, p1 , 23) '获取SMTXPWSWI关键字的位置
p2 = InStr(strtemp, "SMTXPWSWI=")
MsgBox Mid(strtemp, p2, 13) '获取BUPWRSVSCHDL关键字的位置
p3 = InStr(strtemp, "BBUPWRSVSCHDL=")
MsgBox Mid(strtemp, p3, 17) 'SHEET2 页面增加多个字符串连接起来的信息并根据 GetName(Ke) 进行填充
SHEET2Info.Add (GetName(Ke) & "\" & Mid(strtemp, p1, 23) & "\" & Mid(strtemp, p2, 13) & "\" & Mid(strtemp, p3, 17)), ""
Close #1
End Sub
搜了一下,你看一下江南春大牛的博客,估计有用。
这个帖子对大文件讨论得比较多,你可以去看看http://topic.csdn.net/u/20100705/10/0e8226ca-05c8-4c9b-8195-49399584ae84.html