当我运行宏时宏没有写入文件时,我遇到了print语句的问题。 我得到一个没有数据插入文件的空白文件,任何人都可以告诉帽子错误。
Sub sample()
Open "C:test.txt" For Output As #2
Dim a As String
a = "hi"
print #2, a
End Sub
答案 0 :(得分:0)
我认为这不相关,但您不应该假设文件编号2可用。您应该使用FreeFile
获取下一个免费文件编号。
真正的问题可能是" C:test.txt"。这意味着:写" test.txt"到驱动器C中的当前目录。当前目录可能不是你想象的那样。
我已经创建了宏的修正版本:
FreeFile
。Debug.Print
语句来将数据输出到立即窗口。第一个输出文件号,可能是1.第二个输出当前目录,可能是" C:\ YourUserName \ Documents"。希望这有帮助。
Option Explicit
Sub sample()
Dim FileNum As Long
FileNum = FreeFile
Debug.Print "File number " & FileNum
Debug.Print "Current directory " & CurDir
Open ThisWorkbook.Path & "\test.txt" For Output As #FileNum
Dim a As String
a = "hi"
Print #FileNum, a
Close FileNum
End Sub