Dim szFile As String
Dim sDate As String
Dim sOpen As String
 ReDim X0(1000) As Double
  ReDim Y0(1000) As Single
  Open szFile For Input As #1
    Do While Not EOF(1)   
        Input #1, sDate, sOpen
       X0(c) = sDate      
        Y0(c) = CInt(sOpen) 
      c = c + 1
    Loop
   Close #1
这是打开一个文件并把其中的两列数据考到两个数组中
我想问一下我如何打开多个文件实现一下功能
比如打开2个文件并把每个文件中的前两列分别考到X0,Y0,X1,Y1四个数组中

解决方案 »

  1.   

    用两个文件句柄。open "file1.txt" for .... as #1
    open "file2.txt" for .... as #2只要你愿意,打开千八百都没问题。
    不过用完要记得一个个关掉。:D
      

  2.   

    另外,#1,#2 是比较简单的写法,正规的写法应该是用 freefile() 取得空闲的句柄。dim f1 as Integer,f2 as Integer,f3 as ...open "file1.txt" for ... as #f1
    open "file1.txt" for ... as #f2......close #f1
    close #f2
      

  3.   

    汗,错了:dim f1 as Integer,f2 as Integer,f3 as ...f1=freefile()
    f2=freefile()
    f3=....
    open "file1.txt" for ... as #f1
    open "file1.txt" for ... as #f2......close #f1
    close #f2
      

  4.   

    Dim FileNO1 As Integer
       Dim FileNO2 As Integer
       .
       .
       .   FileNO1 = FreeFile()
       FileNO2 = FreeFile()
       .
       .
       .Open sFileName For Input As #FileNO1
    Open sFileName For Input As #FileNO2
    .
    .
    .
      

  5.   

    用 Scripting.file, Scripting.Textstream 比较方便控制
      

  6.   

    fxy_2002(阿勇) ( ) 信誉:100  2006-08-03 12:17:00  得分: 0  
       汗,错了:
    dim f1 as Integer,f2 as Integer,f3 as ...
    f1=freefile()
    f2=freefile()
    f3=....
    open "file1.txt" for ... as #f1
    open "file1.txt" for ... as #f2
    ...
    ...
    close #f1
    close #f2
    =============
    这样好像才真的错了吧,在OPEN之前,FREEFILE返回的值是一样的,F1=F2=F3……应该是
    f1=freefile()
    open "file1.txt" for ... as #f1
    f2=freefile()
    open "file2.txt" for ... as #f2
    ……
      

  7.   

    杰西 答案也一样?
    两个五角不会都错吧,难道我太久没看VB而想错了?还是感觉不应该。我现在没装VB,楼主自己试试吧。如果我说错了,请诸位见谅了,有三年没搞VB了。
      

  8.   

    theforever(碧海情天) 是对的,Freefile 要打开文件后才有效,否则都是得到 1
      

  9.   

    汗...
    theforever(碧海情天)說得對
    向你致敬