Excel, метод Protect, нихт арбайтен, плиз хЭЛП ми! Будь Ласка

1. imozg 166 07.09.21 21:31 Сейчас в теме
Вкратце, ситуация такая:
1. Формируем двух листовой файл Excel с помощью ПакетОтображаемыхДокументов;
2. Сохраняем в формате ТипФайлаПакетаОтображаемыхДокументов.XLS;
3. Открываем файл через Новый COMОбъект("Excel.Application"); (На компьютере стоит Excel 2016)
4. Вызываю метод FileXLS.Worksheets(2).Protect("my_very_nice_pass",false,true,true,true);

5a. Капут. приехали. 0x800A03EC Васся!!!!
5b. Все чики пуки! Лист засисисьчикёН!

Видео, где подробно описываю проблему
https://youtu.be/hno1fwXEOCg

Обработка над которой провожу экзекуции
https://disk.yandex.ru/d/WdhSPtdeai9TvA
Прикрепленные файлы:
СформироватьРеестрАльфаБанк.epf
Вознаграждение за ответ
Показать полностью
Найденные решения
3. laperuz 45 08.09.21 05:39 Сейчас в теме +3 $m
(1) Добавьте
Worksheet_Info.Activate();
перед вызовом Protect()
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user856012 13 07.09.21 21:57 Сейчас в теме
(1)
5a. Капут. приехали. 0x800A03EC Васся!!!!
Я не Вася, но вот тут пишут:
Код ошибки 0x800A03EC (или -2146827284) означает NAME_NOT_FOUND; другими словами, вы попросили что-то, и Excel не может это найти.
...
Worksheets["BLAHBLAH"] выбрасывает это, когда лист не существует и т. Д. В общем, вы просите что-то с определенным именем, а его не существует. Что касается того, почему, это потребует некоторого копания с вашей стороны.

Проверьте, что в вашем листе определенно есть диапазон, который вы просите, или что .CellName определенно возвращает имя диапазона, который вы просите.
Лично я бы для начала попробовал обратиться к нужному листу по имени, а не по номеру.
5b. Все чики пуки! Лист засисисьчикёН!
Варбамбия! Киргуду! Моя твоя не понимай!
4. imozg 166 08.09.21 07:20 Сейчас в теме
(2) В ролике я ссылался на эту статью. И нет разницы как обращаться к листам. Но, за ответ спасибо!
3. laperuz 45 08.09.21 05:39 Сейчас в теме +3 $m
(1) Добавьте
Worksheet_Info.Activate();
перед вызовом Protect()
5. imozg 166 08.09.21 07:23 Сейчас в теме
(3) Низко кланяюсь! О, Великий, Excel'евод!!! Пасиб тебе на добром слове! Помогло!
Странно что в MS документации это не написано, может где-то в общем положении... Это как-то объясняется? От куда узнали?
6. laperuz 45 08.09.21 07:59 Сейчас в теме
(5) Наверно можно считать особенностью работы из 1С, просто сталкивался с таким, другого решения не нашел. И где в документации это написано тоже:)
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

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

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

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