2017-08-12 443 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