【问题标题】:Save a file to CSV and get message box for filename将文件保存到 CSV 并获取文件名的消息框
【发布时间】:2017-09-18 13:52:05
【问题描述】:

我正在尝试为此获取 VBA 代码。

我有一个 .xlsm 文件,我想在其中将一个 WORKSHEET 保存到新工作簿中。

我还想防止 excel 提醒我将丢失的数据(因为我从宏 excel 切换到逗号分隔值表)。

我希望 excel 提示的是一个 MSGBox 请求新文档的文件名或使用特定单词以及当前月份和年份保存 (SAMPLE - MONTH YYYY)

我希望能够将“TEST”之类的内容保存为“text.csv”,与正在运行的工作簿位于同一文件夹中。

我的代码是:

Private Sub Save_Click()

ThisWorkbook.Sheets("Carriers").Copy
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "C:\NewWorkbook.csv", FileFormat:=xlCSVWindows
Application.DisplayAlerts = True


End Sub

请告诉我伙计们。提前致谢!

【问题讨论】:

    标签: vba excel csv


    【解决方案1】:

    请试试这个:

    Private Sub Save_Click()
    
        Dim PathCSV As String
        Dim NameCSV As String
    
        PathCSV = "C:\"
        NameCSV = "SAMPLE - " & Format(Date, "mmmm yyyy") & ".csv"
    
        ThisWorkbook.Sheets("Carriers").Copy
        Application.DisplayAlerts = False
        With ActiveWorkbook
            .SaveAs Filename:= _
            PathCSV & NameCSV, _
            FileFormat:=xlCSV, _
            CreateBackup:=False
            .Close False
        End With
        Application.DisplayAlerts = True
    
        Msgbox "CSV file successfully save to " & PathCSV & NameCSV
    
    End Sub
    

    希望对您有所帮助。

    【讨论】:

    • 感谢您的帮助!这会保存在与保存运行文件的位置相同的文件夹中吗?
    • 没有。但是您可以将 PathCSV = "C:\" 更改为 PathCSV = ThisWorkbook.Path & "\"
    • 或 PathCSV = ThisWorkbook.Path & Application.PathSeparator
    • 我收到错误“无效属性分配的参数数量错误。然后突出显示“格式”
    • 您的 Excel 版本是多少?您将此代码(模块、工作表或 wb)放在哪里?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2018-09-11
    • 1970-01-01
    • 2021-10-08
    • 2019-05-21
    • 2019-10-21
    • 1970-01-01
    相关资源
    最近更新 更多