我想在文本文件中写下我的A4:A8数据,这是我的代码:
Sub creer_TXT()
Close
chemin = "C:\Users\bquinty\Desktop\"
Open chemin & "txt.txt" For Output As #1
Print #1, Worksheets("Feuil1").Range("A4:A8")
Close
Shell "C:\Users\bquinty\Desktop\txt.txt " & chemin & "txt.txt"
End Sub
有人可以解释一下为什么它不起作用吗?
答案 0 :(得分:2)
这在我测试时起作用。
首先,您需要将值范围/值数组从A4:A8强制转换为字符串,该字符串可与Print
语句一起使用。我们通过转置数组,然后使用Join
分隔符vbCrLf
来实现这一点(您可以使用逗号,管道,代字号,制表符等...)
另外,修复Shell
语句以在Notepad.exe中打开文件
Sub creer_TXT()
Dim chemin$
Dim textvals
textvals = Worksheets(1).Range("A4:A8")
textvals = Application.Transpose(textvals)
textvals = Join(textvals, vbCrLf)
'## Define the file path on one statement here, and we can use it again later without concatenating pieces of it
chemin = "C:\Users\bquinty\Desktop\txt.txt"
'## Open the file:
Open chemin For Output As #1
'## print the values to file
Print #1, textvals
Close
'## Open the file in notepad
Shell "notepad.exe " & chemin
End Sub