将工作表导出为 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的主要内容,如果未能解决你的问题,请参考以下文章