nic*_*las 16
我看到这个问题已经得到解答,但是想要提供一个替代方案以防其他人稍后发现.
根据所需的分隔符,可以在不编写任何代码的情况下执行此操作.原始问题没有提供所需输出类型的详细信息,但这里有一个替代方案:
最简单的选择是将文件另存为"格式化文本(空格分隔)"类型.VBA代码行看起来类似于:
ActiveWorkbook.SaveAs FileName:=myFileName, FileFormat:=xlTextPrinter, CreateBackup:=False
Run Code Online (Sandbox Code Playgroud)
在Excel 2007中,这会令人烦恼地在文件名的末尾放置.prn文件扩展名,但可以通过手动重命名将其更改为.txt.
在Excel 2010中,您可以在"另存为"对话框中指定所需的任何文件扩展名.
需要注意的一件重要事项:文本文件中使用的分隔符数量与Excel列的宽度有关.
注意:

变为:

试试这个代码.这样做你想要的.
逻辑
""为空格并同时写入新文件.代码(经过试验和测试)
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Const MAX_PATH As Long = 260
'~~> Change this where and how you want to save the file
Const FlName = "C:\Users\Siddharth Rout\Desktop\MyWorkbook.txt"
Sub Sample()
Dim tmpFile As String
Dim MyData As String, strData() As String
Dim entireline As String
Dim filesize As Integer
'~~> Create a Temp File
tmpFile = TempPath & Format(Now, "ddmmyyyyhhmmss") & ".txt"
ActiveWorkbook.SaveAs Filename:=tmpFile _
, FileFormat:=xlText, CreateBackup:=False
'~~> Read the entire file in 1 Go!
Open tmpFile For Binary As #1
MyData = Space$(LOF(1))
Get #1, , MyData
Close #1
strData() = Split(MyData, vbCrLf)
'~~> Get a free file handle
filesize = FreeFile()
'~~> Open your file
Open FlName For Output As #filesize
For i = LBound(strData) To UBound(strData)
entireline = Replace(strData(i), """", "")
'~~> Export Text
Print #filesize, entireline
Next i
Close #filesize
MsgBox "Done"
End Sub
Function TempPath() As String
TempPath = String$(MAX_PATH, Chr$(0))
GetTempPath MAX_PATH, TempPath
TempPath = Replace(TempPath, Chr$(0), "")
End Function
Run Code Online (Sandbox Code Playgroud)
快照
实际工作簿

保存后

嗯,这个怎么样.
复制你的细胞.
打开记事本.
糊.
看看没有引号,没有引号,并保留特殊字符,这是OP要求的.它也由回车描述,与附加的图形相同,OP没有提到它是一件坏事(或好事).
不确定为什么一个简单的答案会产生预期的结果,这会让我产生负面影响.