Excel VBA .Saveas()函数预先格式化

我试图使用下面的saveas()函数来输出一个Excel工作表到一个xltext文件。 该文件生成正常,但具有#,###。00特殊格式的数字。 输出为“1,000.00”,而不是只输出1,000.00。 我怎样才能删除这些双引号。

Dim tab_output_line, tab_output_head, tab_source As String Dim File_Location As String tab_output_line = "Upload_PO_LineItem" tab_source = "PBOOK" File_Location = Sheets(tab_source).Range("S5").Value Sheets(tab_output_line).Select ChDir File_Location ActiveWorkbook.SaveAs Filename:= _ File_Location + tab_output_line + ".txt", FileFormat:=xlText, _ CreateBackup:=False 

您当前的代码正在制作一个制表符分隔的文件。 包含逗号的单元格(即使是格式化的)也被包含在双引号中“保护”。

为了避免这种“保护”,请尝试这样的代码:

 Sub tony2() Dim N As Long, i As Long, j As Long, Record As String Dim M As Long N = Cells(Rows.Count, 1).End(xlUp).Row Close #2 Open "C:\Users\Garys\desktop\tony.txt" For Output As #2 For i = 1 To N Record = "" M = Cells(i, Columns.Count).End(xlToLeft).Column For j = 1 To M Record = Record & vbTab & Cells(i, j).Text Next j Record = Mid(Record, 2) Print #2, Record Next i Close #2 End Sub 

input:

在这里输入图像说明

和输出:

在这里输入图像说明