我正在开发一个VBA应用程序,我想打开一个CSV文件,获取某一行的内容,并将其存储在一个字符串中。我已经有了它的工作,但它似乎是一种蛮力的方法,我觉得应该有一个更优雅的方式,而不是加载每一行,直到我想要我的字符串。
Dim RowCount As Long
Dim CurrentLine As Long
Dim objFSO, objFile
Const ForReading = 1
RowCount = 0
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(FileName, ForReading) 'Open specified file
CurrentLine = 0 'Start with line "0"
Message = objFile.ReadLine 'Read contents of first line
Do While CurrentLine < EventNumber 'If the current line being examined is not the specified line
CurrentLine = CurrentLine + 1 'Increment the current line counter
Message = objFile.ReadLine 'And copy the specified line to the Message string
Loop 'And repeat
objFile.Close 'Close the file when done
有人能建议更好的方法吗?
另外 - 如果我加载的条目太长,我会遇到麻烦吗?它需要多长时间?在PLC编程世界中,标准字符串是82个字符,这是否也适用于VBA?
答案 0 :(得分:1)
CSV文件是否有标题行?您可以使用CreateObject("ADODB.Connection")
执行类似where EventNumber = something
。