Excel VBA另存为制表符分隔的文件

我有一些代码将活动工作表保存为制表符分隔的文本文件,但是其中包含逗号字符的单元格数据会使用引号导出

John Hopkins, Burgers becomes "John Hopkins, Burgers" 

我该如何解决这个问题?

这是我的代码:

 ActiveWorkbook.SaveAs ActiveWorkbook.path & "\" & filename, FileFormat:=xlText, CreateBackup:=False 

添加这个:我刚刚发现,如果我再次保存该文件,它会删除所有“”。 我可以添加一个额外的保存到代码?

我解决了它! 由于引号在手动保存为分隔文件时消失,但在使用时不会引用

 ActiveWorkbook.SaveAs ActiveWorkbook.path & "\" & filename, FileFormat:=xlText, CreateBackup:=False 

在上面的一个之后,我只是添加了另一个保存,但这次使用sendkey笔画来模仿手动方法。

ActiveWorkbook.SaveAs fil,FileFormat:= _ xlText

 SendKeys "^{F4}" SendKeys "{ENTER}" SendKeys "{ENTER}" 

根据FileFormat属性,您可以select以下格式:

 xlCSV xlCSVMac xlCSVMSDOS xlCSVWindows 

你为什么不select一种逗号分隔的值格式?

试试xlCSV

这是我用来保存一个正常的xlsb文件或xls *文件,但可以用于许多不同的文件,但一些代码的变化。

 Sub SaveAsTDV() ' ' Easy way to export to Tab Deliminated Values ' By DeLaguna ' v17.05.10.15.06 ' Dim BaseFolder As String Dim LitProg As String Dim Path As String Dim Extn As String BaseFolder = "YourBase Folder\" FileName = "FileName" 'File name with no Extension. Extn = ".txt" 'If choosing somthing other than xlText you may change this. Application.DisplayAlerts = False 'Auto Yes to save ChDir BaseFolder ActiveWorkbook.SaveAs Filename:= BaseFolder & FileName & Extn, _ FileFormat:=xlText, CreateBackup:=True 'xlText will save as Tab Deliminated text Application.DisplayAlerts = True ' Reverts to Excel Default showing popup messages for input. End Sub 

希望它可以帮助别人告诉我,如果我犯了一些错误,我不得不将其中的敏感信息编辑出来。