将工作表导出为 CSV 会覆盖原始文件名 VBA

Posted

技术标签:

【中文标题】将工作表导出为 CSV 会覆盖原始文件名 VBA【英文标题】:Export Sheets as CSVs overwrites the original filename VBA 【发布时间】:2018-10-31 08:22:06 【问题描述】:

我将每个工作表保存为 csv,当我将每个工作表保存为 csv 时,它会将原始模板文件名覆盖为新的 csv 名称。它从“.xlsm”变为“.csv”

如何避免这种情况?

我的代码如下所示:

Sub ExportToCSVs()
    Dim ws As Worksheet
    Dim nm As String
    Application.ScreenUpdating = False
    For Each ws In Worksheets
        If ws.Name <> "Control" Then
            ws.Select
            nm = ws.Name
            filenameconvention = "\\Lakesh\ExportToCSVs\" & nm
            ActiveSheet.SaveAs Filename:="\\Lakesh\ExportToCSVs\" & nm & ".csv", _
                 FileFormat:=xlCSV, CreateBackup:=False
        End If
    Next ws
    Sheets("Control").Activate
    Application.ScreenUpdating = True
    MsgBox "Csvs Created!"
End Sub

需要一些指导。

【问题讨论】:

mrexcel.com/forum/excel-questions/… 【参考方案1】:

在保存之前复制工作表很有帮助。 ActiveSheet.Copy ActiveSheet.SaveAs Filename:="\\Lakesh\ExportToCSVs\" & nm & ".csv", _ FileFormat:=xlCSV, CreateBackup:=False

【讨论】:

以上是关于将工作表导出为 CSV 会覆盖原始文件名 VBA的主要内容,如果未能解决你的问题,请参考以下文章

VBA 另存为 CSV 文件被第一张表覆盖

Excel:将工作表导出为 CSV 文件的宏,无需离开我当前的 Excel 工作表

访问 VBA 将 CSV 文件导出为 UTF-8

将文本表的数据导出为 .csv (Tableau)

将工作表导出为 csv

检查 csv 文件是不是从 vba 打开