2016-09-29 221 views
4

我有一些代碼,保存活動工作表的製表符分隔文本文件,但是已經在他們一個逗號字符被加上引號,導出的單元數據,如Excel的VBA另存爲製表符分隔的文件

John Hopkins, Burgers 
becomes 
"John Hopkins, Burgers" 

我該如何解決這個問題?

這是我的代碼:

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

添加此: 我剛剛發現,如果我再次保存文件時,它會刪除所有「」。 我可以在代碼中添加額外的保存嗎?

+1

檢查了這一點:http://stackoverflow.com/questions/11501531/saving-a-excel-file-into-txt-format-without-quotes – Vityata

+0

如何我是否可以在Excel中找到並替換文本文件? – Heresh

回答

2

我解決了!由於報價消失,當你手動將它保存爲一個分隔符的文件,但不是當你使用

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

我只是增加了一個保存上述一個後,但這次使用sendkey招模擬天生的手動方法。

ActiveWorkbook.SaveAs FIL,的FileFormat:= _ xlText

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

據FileFormat屬性,您有以下格式可供選擇:

xlCSV 
xlCSVMac 
xlCSVMSDOS 
xlCSVWindows 

你爲什麼不選擇的逗號分隔值格式之一?

嘗試xlCSV

+0

我嘗試了所有這些,沒有產生我想要的結果。 – Heresh

+0

是否有可能在該文本文件中讀取並執行簡單的搜索並替換以刪除所有「,標記? – Heresh

+0

_是invlaid字符表示Excel .. – Heresh

0

這是一些代碼我用來保存正常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 

希望這可以幫助別人讓我知道如果我犯了任何錯誤,我不得不纂敏感信息出來。

0

變化的FileFormat xlText到xlTextPrinter

ActiveWorkbook.SaveAs ActiveWorkbook.path & "\" & filename, 
    FileFormat:=xlTextPrinter, CreateBackup:=False 
相關問題