我正在编写一个需要读取文件的程序,我有一个Microsoft.Office.Interop.Excel.Application xlObj =
(Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
while (xlObj.Windows.Count == 0) // This line returns the count as 0
循环,我用它来使用该文件中的信息。我想在文件结束时结束循环,所以循环看起来像这样:
Do ... Until
最初,它只是 Do Until Reader.ReadLine = "</Document>" Or Reader.ReadLine = "</kml>" Or Reader.EndOfStream = True
但是因为当文件结束时没有退出循环(即使文件以Reader.ReadLine = "</kml>"
结尾)我写了其他的,但没有一个让它停止!当文件结束时,我总是得到一个</kml>
,因为我正在尝试读取一个没有任何其他内容可读的文件。我甚至在循环中放置一个If语句来检查文件是否结束,如果是,它确实NullPointerException
,但这也不起作用。
这是我的代码(检查文件是否结束的所有检查都是为了查看它们是否解决了问题,但它们没有解决问题,我打算在解决问题时将其删除):
Exit Do
答案 0 :(得分:0)
我想知道你的代码中有哪种类型的对象。它是由TextStream。FileSystemObject函数返回的OpenTextFile()吗?
我想可能是每一行都以换行符结尾,所以你应该尝试使用:
Do Until Reader.ReadLine = "</Document>" & vbNewLine
或
Do Until Reader.ReadLine = "</Document>" & chr(13)
如果有帮助,请告诉我。