excel vba 读入txt 并拆分

excel vba 读入txt 并拆分,第1张

前面加输入框,输入文件路径即可 :

Sub bb()
Dim a, b, x, k%, i%, j%, q%
x = InputBox("输入文档所在路径:", , "e:/file")    '增加输入路径
Open  x & "/" & "atxt" For Input As #1      '打开路径加文件名
。。。以下接你原来的处理

write2TextFile里的strbuf=readtext,表示是读取文件内容,此时游标在所有文本后面,写入内容的话就变成追加。建议换行后再写新内容。
如果注释掉strbuf=readtext,就从文件头开始写。如果新文本长度大于原内容长度,相当于实现覆盖的效果。否则会出现新文本原文本混合的情况。如果原文件文本是12345新内容是666,写完就是66645。似乎adodbstream没有删除文本的功能,所以函数里直接删除文件再创建了。

Private Sub CommandButton1_Click()
Dim filename, inputstring As String
Dim i As Integer
Dim data
i = 1
filename = "d:\WYKStxt" '本列TXT文件放在D盘中
Open filename For Input Access Read As #1
Do While Not EOF(1)
Line Input #1, inputstring '读TXT文件一行
data = inputstring
If i =8 Then
msgbox("第八行数据是" & data)
End If
i = i + 1
Loop
Close #1
End Sub

应《中华人民共和国网络安全法》要求,自2017年6月1日起,使用互联网服务需进行帐号实名认证。为保障您的百度帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持。
如何用VBA 从TXT文件中提取相关数据输入excel表格?
我的TXT文件结构如下 P000000001987456 C0000000024835410020101103002018000020101102 C0000000034824360020101102002018000020101101 T0000000040000000000000000000000000000000000 解释如下: P000000001987456: 这是整个TXT文件的第一行,7个零后展开
我明白可以用导入数据的形式把TXT文件导入到excel 表格(XLS),但是我还是希望能用VBA来处理,因为我给的例子只是数据的一部分,每行数据还包含很多其它内容,而我只想提取相应的部分。谢谢大家。
xfwxiao | 浏览 6831 次
我有更好的答案
发布于2010-11-10 14:32最佳答案
Public Sub abc()
Dim filename, inputstring As String
Dim i As Integer
Dim data
i = 1
filename = "d:\WYKStxt" '本列TXT文件放在D盘中
Open filename For Input Access Read As #1
Do While Not EOF(1)
Line Input #1, inputstring '读TXT文件一行
data = inputstring
If i <> 1 Then
Cells(i - 1, 1) = Mid(data, 11, 6) '截取从第11个字符后6个字符
Cells(i - 1, 2) = Mid(data, 19, 8) '截取从第19个字符后8个字符
Cells(i - 1, 3) = Mid(data, 29, 6) '截取从第29个字符后6个字符

PublicSubabc()Dimfilename,inputstringAsStringDimiAsIntegerDimdatai=1filename="d:\WYKStxt"'本列TXT文件放在D盘中OpenfilenameForInputAccessReadAs#1DoWhileNotEOF(1)LineInput#1,inputstring'读TXT文件一行data=inputstringIfi1ThenCells(i-1,1)=Mid(data,11,6)'截取从第11个字符后6个字符Cells(i-1,2)=Mid(data,19,8)'截取从第19个字符后8个字符Cells(i-1,3)=Mid(data,29,6)'截取从第29个字符后6个字符Cells(i-1,4)=Mid(data,37,8)'截取从第37个字符后8个字符EndIfi=i+1LoopClose#1EndSub


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13385210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存