|
Excel, метод Protect | ☑ | ||
|---|---|---|---|---|
|
0
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
|
Штош. Помолимся.
|
|||
|
2
comp2006
07.09.21
✎
21:13
|
Protect("my_very_nice_pass",0,1,1,1)
|
|||
|
3
likesport
07.09.21
✎
21:27
|
(2)
Worksheet_Info.Protect("12345678", 0, 1, 1, 1); // НИХТ! Worksheet_Info.Protect("12345678", 0, -1, -1, -1); // НАЙН! |
|||
|
4
likesport
08.09.21
✎
07:26
|
Решение найдено, всем спасибо, расходимся ))
Перед вызовом функции Protect, надо вызывать Activate. Worksheet_Info.Activate(); Worksheet_Info.Protect("12345678", Ложь, Истина, Истина, Истина); |
|||
|
5
Lama12
08.09.21
✎
07:53
|
(4) Забавно. Спасибо за инфу.
|
|||
|
6
Lama12
08.09.21
✎
07:54
|
(4) Кстати, как до решения дошел? Что послужило толчком сделать Worksheet_Info.Activate();?
|
|||
|
7
likesport
10.09.21
✎
15:45
|
(6) Подсказали коллеги из Infostart, а они в свою очередь методом тыка обнаружили. В документации от microsoft я ничего такого не нашел.
|
|||
|
8
1Снеговик
гуру
10.09.21
✎
15:46
|
Забавно, даже не читал, поржал с заголовка
|
|||
|
9
Garykom
гуру
10.09.21
✎
16:18
|
не активный лист низзя защитить? прикольный фича
|
|||
|
10
ДедМорроз
12.09.21
✎
10:30
|
Там в последнем офисе многие функции без активации листа не работают - это,видимо,или фича или недоработка.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |