我已經創建了一個用於註冊更改的模板。這些是要求和進一步的管理。我在這個模板中有一個代碼將文件保存爲一個啓用了excel宏的工作簿。此代碼的問題是我無法定義特定的文件夾來保存文檔。在所有情況下,彈出「另存爲」對話框,用戶必須能夠定義他們自己的文件名。我想爲所有用戶定義路徑。有誰知道如何在這個宏中添加一個文件位置(路徑)以使其工作?excel vba saveasui文件路徑
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim FileNameVal As String
If SaveAsUI Then
FileNameVal = Application.GetSaveAsFilename(, "Excel Macro-Enabled Workbook (*.xlsm), *.xlsm")
Cancel = True
If FileNameVal = "False" Then 'User pressed cancel
Exit Sub
End If
Application.EnableEvents = False
If Right(ThisWorkbook.Name, 5) <> ".xlsm" Then
ThisWorkbook.SaveAs Filename:=FileNameVal, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Else
ThisWorkbook.SaveAs Filename:=FileNameVal, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
Application.EnableEvents = True
End If
End Sub
在此先感謝。
親切的問候, REMCO H.
如果要強制他們使用你的路徑,並只允許他們給一個文件名,爲什麼要使用'GetSaveAsFilename'對話框在所有 - 只需使用一個'InputBox'的d要求他們提供文件名(然後將他們固定的路徑添加到他們提供的任何內容中)?或者,如果您想使用'GetSaveAsFilename',以便它們可以單擊現有文件名而不是鍵入它,則可以去掉FileNameVal的路徑部分並放入自己的路徑,或者可以讓用戶保留選擇文件名,直到路徑符合你所需的路徑。 – YowE3K
我使用的文件名是yymmdd-followup,如2016年12月14日161214-1,後續編號爲1.隨着另存爲對話框,他們總是必須檢查特定文件夾中的可用後續編號。不檢查文件夾就無法定義正確的名稱。所以我現在所做的是彈出保存框,並將文檔設置爲啓用宏的工作簿。我只需要指定的路徑。或者是否可以使用正確的後續編號自動創建文件名(檢查文件夾)。在那種情況下,我可以用它來工作。但我可能需要一些幫助或提示。 –