📜  如何在 Excel VBA 中将数据写入文本文件?(1)

📅  最后修改于: 2023-12-03 15:24:10.007000             🧑  作者: Mango

如何在 Excel VBA 中将数据写入文本文件?

在 Excel VBA 中,我们可以利用 File System Object (FSO) 对象来写入文本文件。下面是一个简单的示例代码:

Sub WriteToFile(ByVal FilePath As String, ByVal TextToWrite As String)
    Dim FSO As Object
    Dim FileObj As Object
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set FileObj = FSO.CreateTextFile(FilePath)
    FileObj.Write TextToWrite
    FileObj.Close
End Sub

代码解释:

  1. 首先,我们定义一个 Sub 过程,该过程接受两个参数:FilePathTextToWrite

  2. 我们创建一个 FSO 对象并将其赋值给变量 FSO

  3. 然后,我们使用 CreateObject 方法创建一个文本文件对象,并将其赋值给变量 FileObj

  4. 接着,我们使用 Write 方法将 TextToWrite 写入文件。

  5. 最后,我们使用 Close 方法关闭文本文件对象。

示例:

Sub Test()
    Dim FilePath As String
    Dim TextToWrite As String
    FilePath = "C:\Users\Username\Desktop\Test.txt"
    TextToWrite = "Hello, world"
    WriteToFile FilePath, TextToWrite
End Sub

这里 Test 过程将 FilePathTextToWrite 参数设置为一个本地文件路径和一个要写入文件的文本字符串。在执行 WriteToFile 过程后,您将在 Test.txt 文件中看到 "Hello, world" 的文本。

如何写入多行文本数据?

如果你要写入多行文本数据,你可以将它们拼接成一个字符串并写入文件。以下代码演示了如何将一个数组中的多行文本数据拼接到一个字符串中,并将该字符串写入一个文本文件。

Sub WriteRowsToFile(ByVal FilePath As String, ByVal RowsToWrite As Variant)
    Dim FSO As Object
    Dim FileObj As Object
    Dim TextToWrite As String
    Dim i As Long
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set FileObj = FSO.CreateTextFile(FilePath)
    For i = 1 To UBound(RowsToWrite)
        TextToWrite = TextToWrite & RowsToWrite(i, 1) & vbCrLf
    Next i
    FileObj.Write TextToWrite
    FileObj.Close
End Sub

代码解释:

  1. 我们定义了一个新的 Sub 过程 WriteRowsToFile,它接受两个参数:FilePathRowsToWrite

  2. 我们创建了一个 TextToWrite 变量和一个 i 变量以遍历 RowsToWrite

  3. 在循环中,我们将每一行拼接到 TextToWrite 字符串中,并添加 vbCrLf 换行符。

  4. 最后,我们将 TextToWrite 写入文件并关闭文本文件对象。

示例:

Sub Test()
    Dim FilePath As String
    Dim RowsToWrite As Variant
    FilePath = "C:\Users\Username\Desktop\Test.txt"
    RowsToWrite = Array("Line 1", "Line 2", "Line 3")
    WriteRowsToFile FilePath, RowsToWrite
End Sub

这里 Test 过程将 FilePathRowsToWrite 参数设置为一个本地文件路径和一个要写入文件的文本数组。在执行 WriteRowsToFile 过程后,你将在 Test.txt 文件中看到以下文本:

Line 1
Line 2
Line 3
总结

以上是在 Excel VBA 中将数据写入文本文件的方式。您可以使用这些代码将单行或多行文本数据写入文件。记得使用文本编辑器打开新创建的文本文件,查看您的输出结果。