Excel VBA
excel vba 创建文本文件
2017-11-13 15:42:25

在前面的一些文章中,我们讲过很多关于VBA的灵活运用,提高效率的示例。

也讲过关于Excel跟其他Office组件的交互使用,vba作为开发语言,当然也能控制文本文件

这里我们讲一下如果用VBA自动创建一个文本文件:

方法一:用文件输入/输出(I/O)的方法创建文本文件

Sub 创建文本文件()     Dim sFName As String, iFNumber As Integer, r As Long     sFName = Application.InputBox("请输入文本文件的名称:", "输入文件名称", 2)     If sFName = "False" Or sFName = "" Then Exit Sub     sFName = ThisWorkbook.Path & "\" & sFName & ".txt"     iFNumber = FreeFile '获取可用文件号     Open sFName For Output As #iFNumber '用Output方式打开文件     Write #iFNumber, "新建文本文件" '向文件中写入数据     Close #iFNumber '关闭文件 End Sub

方法二:用文本流对象创建文本框文件

此方法必须要先引用:Microsoft Scripting Runtime  在VBE界面上,工具=》引用 在列表框中找个这个引用,打钩即可

Sub FSO创建文本文件()     Dim fso As New FileSystemObject     Dim oStream As TextStream     Dim sFName As String     sFName = Application.InputBox("请输入文本文件的名称:", "输入文件名称", 2)     If sFName = "False" Or sFName = "" Then Exit Sub     sFName = ThisWorkbook.Path & "\" & sFName & ".txt" '    创建文本流对象     Set oStream = fso.CreateTextFile(Filename:=sFName, OverWrite:=True)     oStream.WriteLine "在文本文件键入的内容" '向文本流对象中写入数据     oStream.Close '关闭文本流对象     Set oStream = Nothing     Set fso = Nothing End Sub

创建效果图:在当前文件路径下创建一个名为“text1”的文本文件,在文件中自动写入“在文本文件键入的内容”内容