Разрешить пользователям печатать защищенный лист - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть рабочий лист, который заполняется данными пользовательской формы и несколькими другими электронными таблицами в том же файле.Я использовал следующий код:

Application.Dialogs(xlDialogPrint).Show

Я гарантирую, что лист активирован перед печатью, и я получил правильную работу функции.

Этот лист и другие в рабочей книге должны быть защищенычтобы предотвратить изменения пользователем за пределами формы пользователя.Когда я защищаю лист и добавляю соответствующий код, чтобы разблокировать этот лист, происходит следующее: 1. Пользовательская форма заполняется, как задумано.2. Диалоговое окно печати отображается так, как задумано.3. При нажатии кнопки печати в диалоговом окне не будет печатать .Не проблема принтера: он также не будет печатать в PDF.

Как я могу заставить его фактически печатать лист так, как мне нужно?

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018
Банальный код

ниже должен выполнять работу без необходимости снимать защиту и защищать

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=True, Collate:=True
0 голосов
/ 26 ноября 2018

Снять защиту листа можно с помощью

ActiveSheet.Unprotect

https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.unprotect

Затем защитите его после работы с ним, используя

ActiveSheet.Protect

https://docs.microsoft.com/en-us/office/vba/api/excel.worksheet.protect

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