首页 > 解决方案 > 使用 VBA 创建一个没有空列和行的 CSV 文件

问题描述

情况:使用 excel 工具,我需要通过以下代码将文件另存为 .csv 在共享文件夹中:

Dim FileName As String
    Dim Path As String
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs FileName:= _
        "FILEPATH&NAME ".txt", FileFormat:=xlText, CreateBackup:=False

    Application.DisplayAlerts = True

问题:通过这种方法创建的文件非常大(20,046 Ko)并且会减慢一切(为用户和之后的 Excel 查询保存)。这似乎源于这样一个事实,即当我的文件应该只有 27 列时,它会保存数千个空列。

我尝试过的:我尝试另存为 CSV,但存在同样的大小问题。

如何对其进行编码以创建没有空列和行的文件?

谢谢您的帮助!

标签: excelvbacsvexport-to-csv

解决方案


它不是 xlText,而是 xlCSV。

Sub test()
    Dim Wb As Workbook
    Dim Ws As Worksheet
    Set Wb = ActiveWorkbook
    Set Ws = Wb.ActiveSheet
    'Wb.SaveAs Filename:="myTest.text", FileFormat:=xlCSV
    Ws.SaveAs Filename:="myTest.text", FileFormat:=xlCSV

End Sub

推荐阅读