Сообщение об ошибке «Ошибка во время выполнения« 1004 »: сбой метода« Сохранить как »объекта« Рабочая книга »при сохранении с помощью защиты паролем VBA - PullRequest
1 голос
/ 01 октября 2019

Я пытаюсь сохранить один лист из книги в виде файла .txt - код, который мне нужно сделать, это:

ActiveWorkbook.SaveAs Filename:= _
directory & Application.UserName & "_" & file_name _
, FileFormat:=xlUnicodeText, CreateBackup:=False

(каталог и имя файла определены ранее в макросе)

Макрос, содержащий этот код, защищен паролем. Когда макрос запускается без ввода пароля, я получаю сообщение об ошибке «Ошибка во время выполнения« 1004 »: сбой метода« SaveAs »объекта« Рабочая книга ». Когда я открываю Visual Basic и ввожу пароль, макрос работает нормально, без сообщений об ошибках. Есть ли другой синтаксис, который я могу использовать для сохранения файла .txt, или кто-нибудь знает, что может быть причиной этой ошибки?

Я нашел старый пост помощи на другом сайте с 2006 года с 0 ответами:

https://www.excelforum.com/excel-general/567235-error-when-save-as-csv-with-vba-password-protection-on.html

Любая помощь / совет будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 октября 2019

Не уверен, разрешено ли отвечать на мой вопрос или это правильно, но мне удалось заставить макрос работать, и, надеюсь, это поможет кому-то еще в будущем:

Вместо:

ActiveWorkbook.SaveAs Filename:= _ directory & Application.UserName & "_" & file_name _ , FileFormat:=xlUnicodeText, CreateBackup:=False

Использование:

ThisWorkbook.SaveAs Filename:=direct & file_name, FileFormat:=xlText

Не уверен, почему это работает, и предыдущий код не работает, но он сохранит файл .txtдаже когда VBA защищена паролем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...