【问题标题】:Is it possible to make save button (not save as button) to save document in specific path?是否可以制作保存按钮(不另存为按钮)以将文档保存在特定路径中?
【发布时间】:2017-08-12 12:45:54
【问题描述】:

我想在 VBA excel 中为我的验证程序制作保存按钮。

保存按钮会将文件保存在特定路径中,并根据文档状态(清洁或错误)自动重命名。

如果文件已经保存,但文件仍然出错,文件将命名为error.xlsm

但是,当我修复文档错误时。该文档将命名为 clean.xlsm。 手动删除第一个文件(error.xlsm)让我很烦。

是否可以在不使用另存为的情况下使保存按钮保存(不是另存为按钮)以将文档保存在特定路径中?

这是我的代码:

Private Sub CommandButton2_Click()
ActiveWorkbook.SaveAs Filename:="D:\" & Sheets("C").Range("G23").Text & ".xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
    ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
End Sub

*注意:Sheets("C").Range("G23").Text 包含文档状态(如果公式为干净或错误)

【问题讨论】:

    标签: vba excel save save-as


    【解决方案1】:

    试试这个...

    Private Sub CommandButton2_Click()
    Dim fName As String
    Application.DisplayAlerts = False
    fName = ActiveWorkbook.Sheets("C").Range("G23").Value
    ActiveWorkbook.SaveAs FileName:="D:\" & fName & ".xlsm", _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:=vbNullString, WriteResPassword:=vbNullString, _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close
    On Error Resume Next
    Select Case fName
        Case "Error"
            Kill "D:\Clean.xlsm"
        Case "Clean"
            Kill "D:\Error.xlsm"
    End Select
    End Sub
    

    【讨论】:

    • 我已经试过了,先生.. 但是,仍然有 2 个文件,(干净和错误)。我想如果文件是干净的,之前保存的错误文件,自动删除..
    • 代码首先按照G23中可用的字符串以文件新文件名保存文件并删除其他文件。我已经尝试了代码,它运行没有问题。
    • 谢谢您,先生,我知道问题所在.. 我刚刚删除了 ActiveWorkbook.Close。它有效!谢谢你uuuu
    • @arifulromadhon - 如果您认为合适,请记住投票/接受答案。
    • @arifulromadhon 由于您在原始代码中使用 ActiveWorkbook.Close,我假设您正在从另一个工作簿运行此代码,这就是我没有删除它的原因。但很高兴你自己弄清楚了。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    相关资源
    最近更新 更多