0

注意:我不熟悉使用 Visual Studio 并在 VB6 和 VBA 之外编写代码。另外,我已经通过使用 IO.File 解决了我的问题。

但是,我真的很想知道为什么这不起作用:

Dim FSO As New FileSystemObject
Dim FSOts As TextStream
FSOts = FSO.OpenTextFile(filepath1, IOMode.ForReading, True)
While FSOts.AtEndOfStream = False
    temp = FSOts.ReadLine()
    MsgBox(temp)
    tempcollection.Add(temp)
 End While
 FSOts.Close()

它可以在我的计算机上运行,​​但由于某种原因,它不会在其他计算机上运行。我之前在 vb 脚本中使用过这个对象,但在那种情况下,第二个参数是“ForReading”,并且是在引用 32 位 scrrun.dll 的不同 IDE (FEMAP) 中编写的。在 Visual Studio 中,我注意到脚本库指向 syswow64;我不确定这是否有什么不同。所有分布式站点都运行 64 位操作系统并具有此库。在任何情况下,当我尝试使用时都会收到错误 438:

FSOts = FSO.OpenTextFile(filepath1, IOMode.ForReading, True)  

VS 不会让我只用“ForReading”来编译它。

同样,我之前在 vb6 中使用过这个对象,但第二个参数不是 iomode.forreading 而是“ForReading”。在那种情况下,它在给我带来问题的同一台机器上运行良好(当然除了我的!)。

4

0 回答 0