Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Excel, метод Protect

Excel, метод Protect
Я
   likesport
 
07.09.21 - 20:54
Вкратце, ситуация такая:
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
   Смотрящий
 
1 - 07.09.21 - 21:09
Штош. Помолимся.
   comp2006
 
2 - 07.09.21 - 21:13
Protect("my_very_nice_pass",0,1,1,1)
   likesport
 
3 - 07.09.21 - 21:27
(2)
Worksheet_Info.Protect("12345678", 0, 1, 1, 1); // НИХТ!
Worksheet_Info.Protect("12345678", 0, -1, -1, -1);// НАЙН!
   likesport
 
4 - 08.09.21 - 07:26
Решение найдено, всем спасибо, расходимся ))

Перед вызовом функции Protect, надо вызывать Activate.

Worksheet_Info.Activate();
Worksheet_Info.Protect("12345678", Ложь, Истина, Истина, Истина);
   Lama12
 
5 - 08.09.21 - 07:53
(4) Забавно. Спасибо за инфу.
   Lama12
 
6 - 08.09.21 - 07:54
(4) Кстати, как до решения дошел? Что послужило толчком сделать Worksheet_Info.Activate();?
   likesport
 
7 - 10.09.21 - 15:45
(6) Подсказали коллеги из Infostart, а они в свою очередь методом тыка обнаружили. В документации от microsoft я ничего такого не нашел.
   1Снеговик
 
8 - 10.09.21 - 15:46
Забавно, даже не читал, поржал с заголовка
   Garykom
 
9 - 10.09.21 - 16:18
не активный лист низзя защитить? прикольный фича
   ДедМорроз
 
10 - 12.09.21 - 10:30
Там в последнем офисе многие функции без активации листа не работают - это,видимо,или фича или недоработка.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.