是否可以制作保存按钮(不另存为按钮)以将文档保存在特定路径中?

Posted

技术标签:

【中文标题】是否可以制作保存按钮(不另存为按钮)以将文档保存在特定路径中?【英文标题】: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 包含文档状态(如果公式为干净或错误)

【问题讨论】:

【参考方案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,我假设您正在从另一个工作簿运行此代码,这就是我没有删除它的原因。但很高兴你自己弄清楚了。 :)

以上是关于是否可以制作保存按钮(不另存为按钮)以将文档保存在特定路径中?的主要内容,如果未能解决你的问题,请参考以下文章

如何保存不另存为

在excel中另存为宏

如何有一个打开另存为窗口的保存按钮? [关闭]

按钮显示另存为对话框,然后保存到设置的位置

GUI设计:合并“保存”和“另存为”

pdf文件中的“另存为”框