VBA编辑文本文件的第3行

时间:2016-08-24 21:25:44

标签: excel vba excel-vba

我目前有一个文本文件(c:\ temp \ temp.txt),我希望能够使用VBA编辑文件,并清除第3行的字符串数据(它的变量是这样的我不知道它会说什么)但保持其余的文本行保持不变。

我一直想弄清楚,似乎我必须打开文件,将整个文件保存为字符串,然后关闭并重新打开文件并编辑字符串并保存?

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

您的伪代码几乎就是您需要做的事情。我个人会拆分换行并写回单行:

Private Sub KillLineThree(filepath As String)
    With CreateObject("Scripting.FileSystemObject")
        Dim lines() As String
        With .OpenTextFile(filepath)
            lines = Split(.ReadAll, vbCrLf)
            .Close
        End With

        Dim i As Long
        With .CreateTextFile(filepath)
            For i = LBound(lines) To UBound(lines)
                If i <> 2 Then .WriteLine lines(i)
            Next
            .Close
        End With
    End With
End Sub

答案 1 :(得分:1)

作为较短的有点矫枉过正版本,您可以使用Excel

Workbooks.Open "c:\temp\temp.txt"
Rows(3).Delete
DisplayAlerts = False
ActiveWorkbook.Close True
DisplayAlerts = True