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

问题描述 投票:0回答:1

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

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

按ok / save后弹出问题:

enter image description here

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

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

excel vba save-as
1个回答
1
投票

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

ActiveWorkbook.SaveAs filename:=workbook_name, WriteResPassword:="TM", FileFormat:=50
© www.soinside.com 2019 - 2024. All rights reserved.