vba脚本保存工作簿覆盖输入的文件名

时间:2018-09-10 12:43:39

标签: excel vba save-as

使用以下输入的脚本,我要使用用户输入的名称保存工作簿,例如

Sub save_workbook_name()
Dim workbook_Name As Variant
Dim location As String

workbook_Name = Application.GetSaveAsFilename(fileFilter:="Excel binary sheet (*.xlsb), *.xlsb", InitialFileName:="N:\IRi\Periode Rapportage Px")

If workbook_Name <> False Then

    ActiveWorkbook.SaveAs WriteResPassword:="TM", FileFormat:=50

End If
End Sub

但是,当我现在尝试使用其他名称保存文件时,可以说X替换为9,结果表明脚本只允许使用与原始文件名相同的文件名进行保存。因此,我输入了Periode Rapportage P9(.xlsb),然后Excel用文件名Periode Rapportage Zelfzorg v2.xlsb保存了文件。

关于为什么会发生这种情况的任何线索?原始文件保存有密码,以提高安全性。

输入所需的文件名:

enter image description here

按下确定/保存后的

弹出问题:

enter image description here

显然,输入的所需文件名已更改回其原始文件名。

有什么方法可以解决此问题,并使脚本使用用户输入的名称保存文件吗?

1 个答案:

答案 0 :(得分:1)

在另存为行中未包含文件名:

ActiveWorkbook.SaveAs filename:=workbook_name, WriteResPassword:="TM", FileFormat:=50