VBA: 在特定文件夹中默认保存具有名称的文件

VBA: Save a file with a name by default in a specific folder

我想在 Excel 2010 中制作一个宏,这样用户可以将文件保存在特定文件夹中,但文件的 名称 将由默认情况下,不能由用户更改。 这是为了避免用户点击其他文件寻找特定的文件夹来保存文件并更改文件名。这是我的:

ActiveWorkbook.Save
name = "File Name"
folder = Application.GetSaveAsFilename(name)
ActiveWorkbook.SaveAs Filename:= folder & "xlsm"

一种选择是在从“另存为”对话框返回后强制执行此规则。由于您只对文件夹感兴趣,因此可以像这样构建您的文件名:

ActiveWorkbook.SaveAs Filename:=fso.GetParentFolderName(folder) & "\" & name & ".xlsm"

这需要引用 Microsoft Scripting Runtime 并声明 fso 如下:

Dim fso As FileSystemObject
Set fso = New FileSystemObject