VBA скрипт для сохранения книги перезаписывает введенное имя файла - PullRequest
0 голосов
/ 10 сентября 2018

С помощью введенного ниже сценария я хочу, чтобы моя рабочая книга сохранялась под именем, введенным пользователем, скажем,

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

Видимо, введенное желаемое имя файла было изменено на его исходное имя.

Есть ли способ решить эту проблему и заставить скрипт сохранить файл с именем, введенным пользователем?

1 Ответ

0 голосов
/ 10 сентября 2018

Вы не включили имя файла в строку сохранения:

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