我打算将文件打开到我用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
答案 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中打开文本文件并从那里打印。