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 46 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 46 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 46 08.09.21 07:59 Сейчас в теме
(5) Наверно можно считать особенностью работы из 1С, просто сталкивался с таким, другого решения не нашел. И где в документации это написано тоже:)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот