1С и Excel - защита листа

1. NicNiconovna 20.06.22 08:52 Сейчас в теме
Есть вот такой код:

Книга = Excel.WorkBooks.Open(ИмяФайла);
Лист = Книга.WorkSheets(ИмяЛиста);
.....
Лист.Range(Лист.Cells(1, 1), Лист.Cells(ВсегоСтрок, ВсегоКолонок)).FormulaR1C1 = МассивЯчеек;
Лист.Protect("12345", 1, 1, 1);

Валится с сообщением об исключительной ошибке на Лист.Protect.
Пробовала указывать пароль с кавычками и без, пробовала использовать не Лист, а ActiveSheet - ошибка остается.
Находила похожие темы, но так и не поняла, в чем может быть причина.
Заранее спасибо за помощь.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user1326147 20.06.22 09:07 Сейчас в теме
Лист.UnProtect(); еше не предлагали?
3. NicNiconovna 20.06.22 09:29 Сейчас в теме
(2) Еще нет. И в каком месте применить? Сразу после Лист = Книга.WorkSheets(ИмяЛиста);?
4. user1326147 20.06.22 10:33 Сейчас в теме
А что нужно-то, убрать защиту?
5. NicNiconovna 20.06.22 10:42 Сейчас в теме
(4) Нет, нужно поставить защиту
6. user1326147 20.06.22 11:02 Сейчас в теме
7. NicNiconovna 20.06.22 11:09 Сейчас в теме
(6) Да там вроде все параметры Optional. И те варианты использования Protect, которые я видела в разных темах в сети, - там не все параметры были заполнены. Но можно попробовать.
8. NicNiconovna 20.06.22 12:10 Сейчас в теме
9. user1326147 20.06.22 12:41 Сейчас в теме
Книга.WorkSheets(ИмяЛиста).Activate
Книга.WorkSheets(ИмяЛиста).Protect("12345", 1, 1, 1);

Так?
10. NicNiconovna 20.06.22 15:15 Сейчас в теме
11. NicNiconovna 21.06.22 16:05 Сейчас в теме
Проблема, похоже, заключается в том, что файл, в котором нужно защитить листы, выгружается из 1С через ПакетОтображаемыхДокументов. Причем если таким образом формировать книгу с одним листом - все нормально, Protect срабатывает; если формируем книгу с несколькими листами - получаем исключительную ситуацию.
12. unknown181538 151 21.06.22 16:08 Сейчас в теме
Я с такой проблемой сталкивался, и у меня так и не получилось Protect назначить. Файл сохранялся через табличныйДокумент.Записать()
13. NicNiconovna 21.06.22 16:34 Сейчас в теме
Проблема решена.

Для Счетчик = 1 По Книга.WorkSheets.Count Цикл
Книга.WorkSheets(Счетчик).Select();
КонецЦикла;
unknown181538; +1 Ответить
14. NicNiconovna 21.06.22 17:26 Сейчас в теме
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)