【发布时间】:2015-02-10 09:35:11
【问题描述】:
Sub ReadEntireFileAndPlaceOnWorksheet()
Dim X As Long, FileNum As Long, TotalFile As String, FileName As String, Result As Variant, Lines() As String
FileName = "C:\Users\Mohamed samatar.DSSE-EMEA\Documents\EQVL\Test\WHVP113_140910_TTinsug_TT_299Data_PUoff_WOT-TakeOff_NotKickDown_gearD_FelLambda.dat"
FileNum = FreeFile
Open FileName For Binary As #FileNum
TotalFile = Space(LOF(FileNum))
Get #FileNum, , TotalFile
Close #FileNum
Lines = Split(TotalFile, vbNewLine)
ReDim Result(1 To UBound(Lines) + 1, 1 To 1)
For X = 1 To UBound(Result)
Result(X, 1) = Lines(X - 1)
Next
Range("A1").Resize(UBound(Result)) = Result
End Sub
我有一些 .dat 格式的文件,这些文件包含一些有价值的信息,但是它们可能很大,尝试在记事本中打开每个文件并提取我需要的信息根本没有效率,因为它需要记事本很长一段时间打开每个文件。我遇到了这个二进制访问读取功能,它显然可以打开大文件并允许您非常快速地阅读它们。我想知道如何查找/获取特定的信息行,您可以使用类似的功能来说明查找功能,还是有另一种获取信息的方法,这是我目前所拥有的。它所做的只是告诉我文件类型,基本上我希望能够搜索特定的字符串值,或者如果我可以将所有文本转储到 EXCEL 中并从中排序,任何指导都是有用的。
【问题讨论】:
-
检查 HERE 的基本 I/O 函数,您可以逐行读取文件,然后使用基本字符串函数或 RegEx 查找您要查找的数据,或读取整个文件放入一个数组并对其进行迭代,等等。
-
感谢您的快速响应,将看看!
-
嗨,大卫,您能否指出我正确的方向,我刚刚浏览了文档,也许还有一个将文件读入数组的示例?如果我可以将它读入一个数组,我可以将它转储到 excel 中并在那里进行搜索,我有更多的经验。很少的意思很小。谢谢?
标签: vba find binaryfiles