如何使用 VBA 创建和写入文本文件

我有一个文件,这是手动添加或修改的基础上的输入。由于该文件中的大多数内容都是重复的,只有十六进制值在更改,因此我希望将其设置为一个工具生成的文件。

我想写的 c 代码,将被打印在该 。 txt文件。

使用 VBA 创建 。 txt文件的命令是什么,以及如何写入该文件

606380 次浏览

使用 FSO 创建文件并向其写入。

Dim fso as Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile as Object
Set oFile = FSO.CreateTextFile(strPath)
oFile.WriteLine "test"
oFile.Close
Set fso = Nothing
Set oFile = Nothing

点击这里查看文档:

没有太多冗余的简单方法。

    Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")


Dim Fileout As Object
Set Fileout = fso.CreateTextFile("C:\your_path\vba.txt", True, True)
Fileout.Write "your string goes here"
Fileout.Close
Dim SaveVar As Object


Sub Main()


Console.WriteLine("Enter Text")


Console.WriteLine("")


SaveVar = Console.ReadLine


My.Computer.FileSystem.WriteAllText("N:\A-Level Computing\2017!\PPE\SaveFile\SaveData.txt", "Text: " & SaveVar & ", ", True)


Console.WriteLine("")


Console.WriteLine("File Saved")


Console.WriteLine("")


Console.WriteLine(My.Computer.FileSystem.ReadAllText("N:\A-Level Computing\2017!\PPE\SaveFile\SaveData.txt"))
Console.ReadLine()


End Sub()
Open ThisWorkbook.Path & "\template.txt" For Output As #1
Print #1, strContent
Close #1

更多信息:

详细介绍 本的回答:

如果您添加了对 Microsoft Scripting Runtime的引用,并正确地键入变量 FSO,您可以 利用自动补全的优势(智能感知)并发现 FileSystemObject的其他伟大特性。

下面是一个完整的示例模块:

Option Explicit


' Go to Tools -> References... and check "Microsoft Scripting Runtime" to be able to use
' the FileSystemObject which has many useful features for handling files and folders
Public Sub SaveTextToFile()


Dim filePath As String
filePath = "C:\temp\MyTestFile.txt"


' The advantage of correctly typing fso as FileSystemObject is to make autocompletion
' (Intellisense) work, which helps you avoid typos and lets you discover other useful
' methods of the FileSystemObject
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim fileStream As TextStream


' Here the actual file is created and opened for write access
Set fileStream = fso.CreateTextFile(filePath)


' Write something to the file
fileStream.WriteLine "something"


' Close it, so it is not locked anymore
fileStream.Close


' Here is another great method of the FileSystemObject that checks if a file exists
If fso.FileExists(filePath) Then
MsgBox "Yay! The file was created! :D"
End If


' Explicitly setting objects to Nothing should not be necessary in most cases, but if
' you're writing macros for Microsoft Access, you may want to uncomment the following
' two lines (see https://stackoverflow.com/a/517202/2822719 for details):
'Set fileStream = Nothing
'Set fso = Nothing


End Sub