在VBA中写入文本文件

时间:2014-05-29 16:47:21

标签: excel vba

我打算将文件打开到我用VBA创建的文件后打印。我坚持的部分是写入文件。这是我到目前为止所拥有的。

Sub test()
Dim myFile As String
Dim testFile As String
Dim intChoice As Integer
Dim fs, f

myFile = Application.GetSaveAsFilename & "kml"

Open myFile For Output As #1

Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
intChoice = Application.FileDialog(msoFileDialogOpen).Show
If intChoice <> 0 Then
    testFile = Application.FileDialog( _
        msoFileDialogOpen).SelectedItems(1)
End If


Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(testFile)

Print #1, f

Close #1

End Sub

2 个答案:

答案 0 :(得分:2)

逐行阅读文本流并根据需要进行打印。这样做是循环的。

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile(testFile)

Do While Not f.AtEndOfStream
    Print #1, f.ReadLine
Loop

Set f = Nothing
Set fs = Nothing

或者,可以能够省略循环,只需执行Print #1, f.ReadAll

答案 1 :(得分:1)

打印文本文件(在Windows中)的最简单方法是使用&#34; / p&#34;将其发送到记事本。开关。这会将其发送到默认打印机。

Shell "Notepad /p C:\Users\Andrew\Documents\test.txt"

您似乎正在从Excel运行此代码。在这种情况下,您还可以在Excel中打开文本文件并从那里打印。