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

Posted

技术标签:

【中文标题】VBA:默认情况下将具有名称的文件保存在特定文件夹中【英文标题】:VBA: Save a file with a name by default in a specific folder 【发布时间】:2020-02-17 16:23:20 【问题描述】:

我想在 Excel 2010 中创建一个宏,用户可以将文件保存在特定文件夹中,但默认情况下会给出文件的 名称无法更改由用户。 这是为了避免用户单击其他文件以查找特定文件夹以保存文件并更改文件名。这就是我所拥有的:

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

【问题讨论】:

您可以使用更改事件,但值得注意的是,您在 VBA 中实施的任何安全措施都不是真正安全的 【参考方案1】:

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

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

这需要参考 Microsoft Scripting Runtime 并像这样声明 fso

Dim fso As FileSystemObject
Set fso = New FileSystemObject

【讨论】:

以上是关于VBA:默认情况下将具有名称的文件保存在特定文件夹中的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用库的情况下将默认名称“选择文件”更改为“选择文档”? [复制]

如何在没有保存/打开对话框的情况下将文件从服务器下载到客户端机器到浏览器中设置的默认文件夹中?

如何在没有 XCode 的情况下将具有应用内购买的现有 .ipa 文件上传到 ituneconnect

通过使用 VBA 浏览将文件保存在所需文件夹中

在自定义目录名称下将 Firehose 传输的文件存储在 S3 中

如何在 VBA 中打开具有相似名称的文件?