vba - Excel VBA .Saveas() 函数保留格式

标签 vba excel save-as

我正在尝试使用下面的 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

输入:

enter image description here

和输出:

enter image description here

关于vba - Excel VBA .Saveas() 函数保留格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46430707/

相关文章:

excel - 如何创建一个宏来自动填充从顶行到最后一个相邻列的数据?

java - 使用 Apache_poi 删除包含特定文本的 Excel 行

php - 如何使用 PHPSpreadsheet 在 Excel 上添加新行

MATLAB 的 'saveas' 将我的图形保存为正方形。但我希望它们更加矩形

handler - PDF 处理程序 : content-disposition filename

vba - 循环遍历某个范围内的所有数字(除了少数数字)

vba - Delphi 中的 PowerPoint : fill table with text

vba - 将 Excel 工作簿保存在新创建的同名文件夹中

xml - 使用 MSXML 创建 XML 的最佳方式是什么