Sub TT()
  Dim ii As Integer, Arr(3, 3) As Double 'Variant
  For ii = 0 To 3
   Arr(ii, 1) = ii + 1
     For jj = 0 To 3
       Arr(ii, jj) = ii + jj
     Next jj
  Next ii
  temp = ArrToTxt("ls.txt", Arr, 10)
  
End Sub 
Function ArrToTxt(FileName, Arr, Col)
  Dim Str
  Close #1
  Open FileName For Output As #1
    For ii = 0 To UBound(Arr)
      Str = ""
      For jj = 0 To 3
          Str = Str & Arr(ii, jj) & ","
      Next jj
      Debug.Print Left(Str, Len(Str) - 1)
      Write #1, Left(Str, Len(Str) - 1) 'ii, "A" & ii, "" & "BB" & ii * 2
    Next ii
  Close #1
End Function输出结果不是目标需求
"0,1,2,3"
"1,2,3,4"
"2,3,4,5"
"3,4,5,6"
目标需求
0,1,2,3
1,2,3,4
2,3,4,5
3,4,5,6

解决方案 »

  1.   

    你用write当然会加上引号
    用print就不会了
      

  2.   

    谢谢回复。
    Function ArrToTxt(FileName, Arr, Col)
      Dim Str
      Close #1
      Open FileName For Output As #1
        For ii = 0 To UBound(Arr)
          Str = Empty
          For jj = 0 To 3
            Str = Str & Arr(ii, jj) & ","
          Next jj
          'Str = Arr(ii, 1) & "," & Arr(ii, 2) & "," & Arr(ii, 3)
          Print #1, Left(Str, Len(Str) - 1)
        Next ii
      Close #1
    End Function现在还有一个问题是
    现在的问题是打开文件后覆盖。
    目标需求
    原来文件有20行
    再次向这个文件添加文件。
    从第21行起再加n行。
    文件就是20行+nn行。
    -----
    目标就是不断向文件添加行数。
      

  3.   

    你要追加内容,就不要以Output打开文件
    而是以追加形式打开,Append
      

  4.   

    Open FileName For Output As #1
    Open FileName For append As #1
      

  5.   


    谢谢回复,刚才回帖时没有看到这个内容。
    Open FileName For append As #1
    现在明白了如何添加了。
    谢谢各位的回复。
      

  6.   

    谢谢各位回复,目标实现。
    Sub TT()
      Dim ii As Integer, Arr(3, 3) 'As Double 'Variant
      For ii = 0 To 3
       Arr(ii, 1) = ii + 1
         For jj = 0 To 3
           Arr(ii, jj) = "cc" & ii + jj
         Next jj
      Next ii
      'temp = ArrToOpenTxt("ls.txt", Arr, 10)
      temp = ArrToAppendTxt("ls.txt", Arr, 10)
    End Sub
    '向文本文件追加数组数据
    Function ArrToAppendTxt(FileName, Arr, Col)
      Dim Str
      Close #1
      Open FileName For Append As #1
        For ii = 0 To UBound(Arr)
          Str = Empty
          For jj = 0 To 3
            If IsNumeric(Arr(ii, jj)) Then
              Str = Str & Arr(ii, jj) & ","
            Else
              Str = Str & Chr(34) & Arr(ii, jj) & Chr(34) & ","
            End If
          Next jj
          'Str = Arr(ii, 1) & "," & Arr(ii, 2) & "," & Arr(ii, 3)
          Print #1, Left(Str, Len(Str) - 1)
        Next ii
      Close #1
    End Function''向打开的文本文件添加数据数据
    Function ArrToOpenTxt(FileName, Arr, Col)
      Dim Str
      Close #1
      Open FileName For Output As #1
        For ii = 0 To UBound(Arr)
          Str = Empty
          For jj = 0 To 3
            Str = Str & Arr(ii, jj) & ","
          Next jj
          'Str = Arr(ii, 1) & "," & Arr(ii, 2) & "," & Arr(ii, 3)
          Print #1, Left(Str, Len(Str) - 1)
        Next ii
      Close #1
    End Function输出结果0,1,2,3
    1,2,3,4
    2,3,4,5
    3,4,5,6---追加数据
    "cc0","cc1","cc2","cc3"
    "cc1","cc2","cc3","cc4"
    "cc2","cc3","cc4","cc5"
    "cc3","cc4","cc5","cc6"
      

  7.   

    关注open文本文件的OutPut和Append的概念
    Open FileName For Output As #1
    Open FileName For append As #1