首页 > 解决方案 > 将工作表导出为 CSV 会覆盖原始文件名 VBA

问题描述

我将每张工作表另存为 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

在这方面需要一些指导。

标签: vbacsv

解决方案


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


推荐阅读