写入文本文件

时间:2017-02-23 16:35:08

标签: excel vba excel-vba

我想在文本文件中写下我的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

有人可以解释一下为什么它不起作用吗?

1 个答案:

答案 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