Vba 数据未显示在文件上

Vba 数据未显示在文件上,vba,excel,Vba,Excel,当我运行宏时,print语句出现问题,宏没有写入文件。 我得到一个没有数据插入的空白文件,任何人都能看出hats的错误 Sub sample() Open "C:test.txt" For Output As #2 Dim a As String a = "hi" print #2, a End Sub 我不认为这是相关的,但你不应该假设2号文件是可用的。您应该使用FreeFile获取下一个可用文件号 真正的问题可能是C:test.txt。这意味着:将test.t

当我运行宏时,print语句出现问题,宏没有写入文件。 我得到一个没有数据插入的空白文件,任何人都能看出hats的错误

Sub sample()
    Open "C:test.txt" For Output As #2
    Dim a As String
    a = "hi"
   print #2, a
End Sub

我不认为这是相关的,但你不应该假设2号文件是可用的。您应该使用FreeFile获取下一个可用文件号

真正的问题可能是C:test.txt。这意味着:将test.txt写入驱动器C中的当前目录。当前目录可能不是您所认为的

我已创建宏的修订版本:

我已经按照阿克塞尔的建议关闭了文件。Excel会在您之后进行清理,因此这不是必需的,但您最好自己做家务。 我已经按照我的建议使用了FreeFile。 我添加了两个Debug.Print语句,将数据输出到即时窗口。第一个输出的文件号可能是1。第二个输出当前目录,可能是C:\YourUserName\Documents。 我已经修改了Open语句,以便将文件写入包含工作簿的文件夹中。 希望这有帮助

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

可能是文件的路径?C:\test.txt?即使在修改文件路径后,数据也不会显示@VBA4ALL您应该关闭该文件,如果您已准备好:关闭2