在vb中进行简单的更改

时间:2014-07-08 17:54:57

标签: csv access-vba

Sub Command3_Click()
      Dim fs As FileSystemObject
      Dim f As TextStream
      Dim a As Variant
      Dim i As Long

      Set fs = CreateObject("Scripting.FileSystemObject")

      ' Read file into array
       If fs.FileExists("C:\Abhi\Code test\rbc.csv") Then
           Set f = fs.OpenTextFile("C:\rbc.csv", ForReading, False)
           a = Split(f.ReadAll, vbNewLine, -1, vbTextCompare)
           f.Close
       Else
           MsgBox "The file path is invalid.", vbCritical, vbNullString
           Exit Sub
       End If
      ' Write line > 1 to file
      Set f = fs.OpenTextFile("C:\rbc.csv", ForWriting, True)
      For i = 1 To UBound(a)
        f.WriteLine a(i)
      Next
      f.Close
End Sub

这是我正在使用的代码。我想删除我的CSV文件的第一行并使用所有其他行。在我输入的csv文件中,第一行始终是

  

01-JUL-2014,RBC_BASELII_07012014 ,,,,,,,,,,,,,,,,,,,

现在如果我删除逗号并保留一个逗号,程序运行正常。但是如果我用10-12个逗号保留原始形式的行,那么当我运行程序时整个文件就会变空。

1 个答案:

答案 0 :(得分:1)

看起来你在Split()命令之后有一个字符串数组。尝试以下(从i = 2开始迭代):

  For i = 2 To UBound(a)
    f.WriteLine a(i)
  Next

此致