2017-08-12 212 views
1

我想为VBA excel中的验证程序制作保存按钮。是否可以使保存按钮(不保存为按钮)将文档保存在特定路径中?

保存按钮将文件保存在spesicic路径中并根据文档状态自动重命名(Clean或Error)。

如果文件已经保存在文档还是错误,该文件将被命名为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 
+0

我已经尝试过了,先生..但是,仍然有2个文件,(干净和错误)。我想如果文件是干净的,以前保存的错误文件,自动擦除.. – arifulromadhon

+0

可能就像重命名文件,然后保存它... – arifulromadhon

+0

该代码首先保存该文件与文件的新文件名每在G23中可用的字符串并删除其他文件。我已经试过了代码,它运行没有问题。 – sktneer