一手机qq下载的文件在哪个文件夹夹中有两百多个txt文件。用vb如何查询所有txt里的指定内容,返回文件名和行数?

VB编写一个程序,实现两个TXT文件的合并。_百度知道
VB编写一个程序,实现两个TXT文件的合并。
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
采纳数:23
获赞数:52
Private Sub Command1_Click()Text1.Text = Text1.Text + Text2.TextText2.Visible = FalseEnd Sub功能:单击command1令文本框1和文本框2中的内容合并到文本框1中。并隐藏文本框2
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 11709|回复: 26
如何将多个txt文件中的特定数据读取到excel中存下来
阅读权限20
在线时间 小时
请教各位老师,
1文件夹中存储了多个txt文件,1个xls文件。每个txt文件的中均包含需要提取的数据。
问题:如何在xls表中根据每个txt文件名提取该txt中特定的字段内容导入到xls中对应的列表中?
说明:txt文件中只有其中一部分是需要提取的,而且需要提取的内容前面都有相应的字段和符号,这些是不需要提取的,只需要提取对应字段和冒号后面的内容。如下图,整个txt中只有这一段是需要提取的,且将id、type、fakeid、nick-name、data-time和content这几个字段的内容提取出来。
QQ截图01.png (54.65 KB, 下载次数: 247)
14:53 上传
(585.71 KB, 下载次数: 165)
14:55 上传
点击文件名下载附件
望不吝赐教,衷心谢谢!
阅读权限150
在线时间 小时
仅供参考:
阅读权限20
在线时间 小时
LangQueS 发表于
仅供参考:
http://club.excelhome.net/redirect.php?goto=findpost&pid=3272004&ptid=497405
可不可以做一个excel?我是菜鸟~
阅读权限95
在线时间 小时
Sub test()
&&Dim reg As Object
&&Dim wjm As String
&&Set reg = CreateObject(&vbscript.regexp&)
&&With reg
& & .Global = True
& & .Pattern = &{&&id&&.*?}&
&&End With
&&
&&wjm = Dir(ThisWorkbook.Path & &\*.txt&)
&&m = 2
&&Do While wjm && &&
& & txtm = ThisWorkbook.Path & && & wjm
& & Open txtm For Input As #1
& & Do While Not EOF(1)
& && &Line Input #1, ss
& && &If Left(Trim(ss), 4) = &list& Then
& && &&&ss = Replace(ss, Chr(13), Chr(10) & Chr(13))
& && &&&Set mathcs = reg.Execute(ss)
& && &&&For i = 0 To mathcs.Count - 1
& && && & s = Replace(mathcs(i), &&&&, &&)
& && && & s = Replace(s, &:&, &,&)
& && && & xm = Split(s, &,&)
& && && & For j = 1 To 3
& && && && &Cells(m, j + 1) = xm(j * 2 - 1)
& && && & Next
& && && & For j = 4 To 5
& && && && &Cells(m, j + 1) = xm(j * 2 + 1)
& && && & Next
& && && & Cells(m, 1) = wjm
& && && & m = m + 1
& && &&&Next
& && &&&Exit Do
& && &End If
& & Loop
& & Close #1
& & wjm = Dir
&&Loop
End Sub复制代码
阅读权限95
在线时间 小时
写了一段程序,基本能够实现要求,就是content字段提取出来是乱码,正在琢磨。
16:53 上传
点击文件名下载附件
612.85 KB, 下载次数: 366
阅读权限100
在线时间 小时
之前汇总了一些学习材料,你看看吧,有些有关文本操作的
阅读权限20
在线时间 小时
chxw68 发表于
写了一段程序,基本能够实现要求,就是content字段提取出来是乱码,正在琢磨。
小女在此拜谢了~试了一下,确实有很多乱码,会不会有字符定义的问题?
阅读权限95
在线时间 小时
cjaugust 发表于
小女在此拜谢了~试了一下,确实有很多乱码,会不会有字符定义的问题?
研究了半晚上才搞清楚,你的文本文件有的是以UTF-8编码形式存储的,而Excel是以ANSI标准编码方式处理的,所以会产生乱码,有一个解决办法,就是用记事本打开文本文件,选择以ANSI编码方式保存,Excel就可以正确读取了。
阅读权限20
在线时间 小时
chxw68 发表于
研究了半晚上才搞清楚,你的文本文件有的是以UTF-8编码形式存储的,而Excel是以ANSI标准编码方式处理的, ...
非常感谢~只是我读出来的里面好像没有nick-name这一项的内容,不知道是怎么回事?可以帮忙再解么?拜托~
阅读权限95
在线时间 小时
Sub test()
&&'Dim reg As Object
&&Dim reg As New RegExp
&&Dim wjm As String
&&Dim tt As String
&&Dim fla As Boolean
&&Dim str1 As String
&&utf8 = Array(239, 187, 191)
&&Dim ch(1 To 3) As Byte
&&Set reg = CreateObject(&vbscript.regexp&)
&&With reg
& & .Global = True
& & .Pattern = &&&id&&.*?}&
&&End With
&&wjm = Dir(ThisWorkbook.Path & &\*.txt&)
&&m = 2
&&Do While wjm && &&
& & fla = True
& & txtm = ThisWorkbook.Path & && & wjm
& & Open txtm For Binary Access Read As #1
& & For i = 1 To 3
& && &Get #1, i, ch(i)
& & Next
& & For i = 1 To 3
& && &If ch(i) && utf8(i - 1) Then
& && &&&fla = False
& && &&&Exit For
& && &End If
& & Next
& & Close #1
& & Open txtm For Input As #1
& & Do While Not EOF(1)
& && &Line Input #1, ss
& && &If Left(Trim(ss), 4) = &list& Then
& && &&&Set mathcs = reg.Execute(ss)
& && &&&aa = reg.test(ss)
& && &&&For i = 0 To mathcs.Count - 1
& && && & s = Replace(mathcs(i), &&&&, &&)
& && && & s = Replace(s, &:&, &,&)
& && && & xm = Split(s, &,&)
& && && & For j = 1 To 3
& && && && &Cells(m, j + 1) = xm(j * 2 - 1)
& && && & Next
& && && & Cells(m, 6) = xm(9)
& && && & If fla Then
& && && && &str1 = xm(7)
& && && && &Cells(m, 5) = IIf(Len(str1) && 0, utf8_ansi(str1), &&)
& && && && &str1 = xm(11)
& && && && &Cells(m, 7) = IIf(Len(str1) && 0, utf8_ansi(str1), &&)
& && && & Else
& && && && &Cells(m, 5) = xm(7)
& && && && &Cells(m, 7) = xm(11)
& && && & End If
& && && & Cells(m, 1) = wjm
& && && & m = m + 1
& && &&&Next
& && &&&Exit Do
& && &End If
& & Loop
& & Close #1
& & wjm = Dir
&&Loop
End Sub
Function utf8_ansi(sstring As String) As String
&&Dim byArray() As Byte
&&Dim a(1 To 3)
&&ss = &&
&&byArray = StrConv(sstring, vbFromUnicode)
&&d = UBound(byArray)
&&For i = 0 To d
& & If byArray(i) &= 127 Then
& && &ss = ss & Chr(byArray(i))
& & Else
& && &n = 1
& && &Do Until n & 3 Or i & d
& && &&&a(n) = byArray(i)
& && &&&n = n + 1
& && &&&i = i + 1
& && &Loop
& && &i = i - 1
& && &a1 = a(1) And 15
& && &a2 = a(2) And 63
& && &a3 = a(3) And 63
& && &a4 = a1 * 16 + (a2 And 60) / 4
& && &a5 = (a2 And 3) * 64 + a3
& && &aa = a4 * 256 + a5
& && &ss = ss & ChrW(aa)
& & End If
&&Next
&&utf8_ansi = ss
End Function复制代码
最新热点 /1
本活动是由微软(中国)有限公司发起,申请通过者可以得到Office 365企业级E3 试用账号,并享有全套Office 365客户端及云端高效、协作办公体验。 机会有限,先到先得!
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师我们可能会经常要将一个文件夹中的所有文件都遍历一遍,然后进行修改,下面就介绍用Dir函数实现遍历*.xlsx文件的方法
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。
Dir[(pathname[, attributes])]
第一个参数即是文件的地址,第一次引用的时候要标注,第二次用的时候就不必指出了,下面举个例子,遍历下面文件夹中的Excel2010文件,然后输出文件的名字~
批量遍历某类文件(*.xlsx)
Sub OpenAndClose()
Dim MyFile As String
Dim s As String
Dim count As Integer
MyFile = Dir("C:\Users\McDelfino\Desktop\2.JPL_SCAT_EXCEL全\" & "*.xlsx")
'读入文件夹中的第一个.xlsx文件
count = count + 1
'记录文件的个数
s = s & count & "、" & MyFile
Do While MyFile && ""
MyFile = Dir
'第二次读入的时候不用写参数
If MyFile = "" Then
'当MyFile为空的时候就说明已经遍历完了,这时退出Do,否则还要运行一遍
count = count + 1
If count Mod 2 && 1 Then
s = s & vbTab & count & "、" & MyFile
s = s & vbCrLf & count & "、" & MyFile
Debug.Print s
运行结果如下:
遍历每个文件,并且修改文件,先将文件的名字存在数组中,然后通过数组遍历打开每个文件,修改,再关闭文件~
Sub OpenCloseArray()
Dim MyFile As String
Dim Arr(100) As String
Dim count As Integer
MyFile = Dir("C:\Users\McDelfino\Desktop\2.JPL_SCAT_EXCEL全\" & "*.xlsx")
count = count + 1
Arr(count) = MyFile
Do While MyFile && ""
MyFile = Dir
If MyFile = "" Then
count = count + 1
Arr(count) = MyFile
'将文件的名字存在数组中
For i = 1 To count
Workbooks.Open Filename:="C:\Users\McDelfino\Desktop\2.JPL_SCAT_EXCEL全\" & Arr(i)
'循环打开Excel文件
Cells(1, 1) = "alex_bn_lee"
'修改打开文件的内容
ActiveWorkbook.Close savechanges = True
'关闭打开的文件
要是想要修改每个工作簿的内容可以这样遍历一下,显示将文件夹中的工作簿的名字存到一个字符串数组中,然后在用For...Next语句遍历
批量遍历某个文件夹中的所有文件(*.*)
注意:遍历的时候,顺序完全是按照文件名的顺序排的,而不是按照文件夹中文件的顺序~
Sub dlkfjdl()
Dim MyFile As String
Dim count As Integer
MyFile = Dir("C:\Users\McDelfino\Desktop\桌面\Excel\*.*")
Debug.Print "1、" & MyFile
Do While MyFile && ""
count = count + 1
MyFile = Dir
If MyFile = "" Then Exit Do
Debug.Print count & "、" & MyFile
批量建立TXT文件
批量建立,同时可以批量赋值到文本文件中~
Sub kdjfl()
For i = 1 To 10
Open "C:\Users\McDelfino\Desktop\练习\" & Format(i, "00") & ".txt" For Output As #i
Print #i, i
GetFolder方法
返回一个和指定路径中文件夹相对应的 Folder 对象。应用于FileSystemObject对象~
遍历文件夹内的所有文件
Sub GetFiles()
Dim fs, f, f1, fc
Set fs = CreateObject("scripting.filesystemobject")
Set f = fs.getfolder("F:\Desktop\2.wind_numerical_excello")
Set fc = f.Files
For Each f1 In fc
Debug.Print f1
Debug.Print "f1 = " & TypeName(f1)
MsgBox "fs = " & TypeName(fs) _
& vbCrLf & "f = " & TypeName(f) _
& vbCrLf & "fc = " & TypeName(fc)
fs = FileSystemObject对象:提供对计算机文件系统的访问。
f = Folder对象:提供对一个文件夹所有属性的访问。
fc = Files集合:在一个文件夹内的所有 File 对象的集合。
f1 = File对象:提供对文件所有属性的访问。
FileSystemObject对象及TextStream对象的方法举例:
Sub djkflds()
Dim fso, fd, fs, f, ft, s
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "F:\Desktop\1.xlsx", "F:\Desktop\2.wind_numerical_excello\1.xlsx"
fso.MoveFolder "F:\Desktop\temp", "F:\Desktop\2.wind_numerical_excello\temp"
'移动文件夹
MsgBox fso.FileExists("F:\Desktop\1.xlsx")
'判断文件是否存在,存在返回True,否则返回False
MsgBox fso.FolderExists("F:\Desktop\temp")
'判断文件夹是否存在,存在返回True,否则返回False
Set ft = fso.OpenTextFile("F:\Desktop\1.txt", 8, -2)
'8打开一个文件并写到文件的尾部 -2使用系统缺省打开文件
'ft是TextStream对象,加快对文件的顺序访问
ft.Write "Hello World"
'Write方法,在一行上
For i = 1 To 10
ft.WriteLine i
'WriteLien方法,另起一行
'Close方法,关闭文件
fso.DeleteFolder "F:\Desktop\1"
'删除一个文件夹,并且是不放在回收站里面的
Folder对象的属性和方法举例:
Sub GetSize()
Dim fso, fd, fs, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set fd = fso.GetFolder("F:\Desktop\2.wind_numerical_excello")
Set fs = fd.SubFolders
For Each f In fs
Debug.Print f.Name, Format(f.Size / 1024 / 1024, "#.##") & "M"
File对象的属性和方法举例:
属性和方法与Folder对象类似~
遍历文件夹中的子文件夹及文件
Sub getfiles()
Dim fso, folder, fds, fd, folder2, fs, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.GetFolder("F:\Desktop\2.wind_numerical_excello")
'获得文件夹
Set fds = folder1.subfolders
'子文件夹集合
For Each fd In fds
'遍历子文件夹
Debug.Print fd.Name
Set folder2 = fd
'获得文件夹2
Set fs = folder2.Files
For Each f In fs
Debug.Print f.Name
Debug.Print
遍历指定文件夹,逐个打开每一个excel文件,进行操作
Sub openExcel()
Dim myPath$, myFile$, WB As Workbook
Dim icount%
icount = 0
遍历文件夹下文件名
比较实用的代码
VBA遍历当前目录下指定类型的excel文件并复制文件内指定的内容到新表中
最近在做水质分析数据录入的时候,需要根据监测井编号到多个excel表中查询该编号对应的井的水质分析数据,并将单口井的水质分析数据复制到新表中。由于检测中心给的
水质分析数据很多,而且还分布在不同的工...
Excel VBA 获取指定路径下的文件夹名称
Sub getfoldername() '获取指定路径下的文件夹名称
Dim fs As Object
Set fs = CreateObject(&Scripting.FileSy...
Dir[(pathname[, attributes])]
Dir 函数的语法具有以下几个部分:
以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。!!!
以下是V...
Dir 函数示例
本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Micro...
dir(“地址\”)返回该地址下的第一个文件的文件名
Dim sr As String
sr = Dir(&G:\社团、活动\JMR\*.xlsx&)这里使用了通配符,并...
VBA遍历文件夹常用有三种方法,这三种方法中,filesearch不适合版本,而且速度比较慢,递归法速度也慢。只有用DIR加循环的方法,速度飞快。下面是三种方法的代码:
VBA遍历所有文件夹的两种方法(filesearch和FileSystemObject)
http://excelpx.com/Dispbbs.asp?boardid=177&ID=132522
在VBA遍历文件夹和子文件夹中所有文件,常用两种方法,一种是使用VBA的filesercth...
没有更多推荐了,如何遍历读取某个目录下所有的TXT文件,求助
[问题点数:40分,结帖人hzddm12340]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:358125
2013年 荣获名人称号
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2012年1月 总版技术专家分月排行榜第一
本版专家分:8739
本版专家分:3647
本版专家分:3647
本版专家分:20834
2014年11月 VC/MFC大版内专家分月排行榜第一
2015年1月 VC/MFC大版内专家分月排行榜第二
本版专家分:0
本版专家分:3647
本版专家分:3647
本版专家分:413
本版专家分:10515
本版专家分:83529
2017年 总版技术专家分年内排行榜第一
2014年 总版技术专家分年内排行榜第二
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:358125
2013年 荣获名人称号
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2012年1月 总版技术专家分月排行榜第一
本版专家分:0
本版专家分:0
本版专家分:3647
本版专家分:3647
本版专家分:0
匿名用户不能发表回复!
其他相关推荐VB打开一个文件夹下所有的*.txt文件并且对其进行读取操作_百度知道
VB打开一个文件夹下所有的*.txt文件并且对其进行读取操作
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
dim aa as stringaa =dir (&一个文件夹的路径\*.txt&)do while aa&&&&'打开这个&一个文件夹的路径\& & aa TXT文件,并读取aa =dir()loop
不好意思啊,刚没说明白,我是想在listview里面显示所有*.txt文件的内容。而非文件名。该怎么做?谢谢!
好吧。。。我给你代码:Dim&aa&As&StringDim&TextLine,&aaa&=&Dir(&一个文件夹的路径\*.txt&)Do&While&aa&&&&&&Open&&一个文件夹的路径\&&&&aa&For&Input&As&#1&&&&'&打开文件。Do&While&Not&EOF(1)&&&'&循环至文件尾。&&Line&Input&#1,&TextLine&&&'&读入一行数据并将其赋予某变量。&&a&=&a&&&TextLine&'&把读入的文本存入A中LoopClose&#1&&&'&关闭文件。ListView1.ListItems.Add&a&'将文本数据放到ListView里aa&=&Dir()Loop
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 暗黑2ut文件夹里的txt文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信