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

vba script to save workbook overwrites entered filename

使用下面输入的脚本,我希望使用用户输入的名称保存我的工作簿,比如说

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 保存文件。

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

输入了所需的文件名:

按下后弹出问题ok/save:

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

有没有办法解决这个问题,让脚本以用户输入的名称保存文件?

您没有在 saveas 行中包含文件名:

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