|
защитить книгу и лист excel паролем из 1с через OLE Ø |
☑ |
0
smilerZ
27.10.05
✎
09:30
|
Добрый день. подскажите, плиз как можно поставить защиту с паролем на лист и книгу Excel из 1с. Эксель = СоздатьОбъект("Excel.Application"); // снимаем защиту Эксель.ActiveWorkbook.Unprotect(пароль); Эксель.ActiveSheet.Unprotect(пароль); // заполнение Excel файла ... // ставим защиту Эксель.ActiveWorkbook.Рrotect(пароль); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ вылетает с ошибкой ! Эксель.ActiveSheet.Рrotect(пароль); как правильно установить пароль ?
|
|
1
Sasha
27.10.05
✎
09:38
|
Эксель.ActiveWorkbook.Password = Пароль;
|
|
2
Sasha
27.10.05
✎
09:44
|
Даже лучше наверное так: Эксель.ActiveWorkbook.Password = Строка(Пароль);
|
|
3
Gloom
27.10.05
✎
09:48
|
(1,2)Это установка пароля на открытие книги, а не на защиту. (0)Похоже, у тебя в "ActiveSheet.Рrotect" кириллица затесалась...
|
|
4
smilerZ
27.10.05
✎
09:54
|
спасибо. а как быть с Эксель.ActiveSheet.Рrotect(пароль); Эксель.ActiveSheet.Password = - не работает.
|
|
5
Sasha
27.10.05
✎
09:58
|
(3)Хм, а все моя невнимательность %-)
|
|
6
smilerZ
27.10.05
✎
10:02
|
to 3 Protect([Password], [Structure], [Windows]) в таком варианте не отрабатывает Эксель.ActiveWorkbook.Protect("12345678",1,0);
|
|
7
Sasha
27.10.05
✎
10:05
|
(6) а разве не так? Эксель.ActiveWorkBook.Protect(Structure, Windows, Password);
|
|
8
smilerZ
27.10.05
✎
10:13
|
возможно, но и так то же не работает Эксель.ActiveWorkbook.Protect(Structure,Windows,"12345678"); без ошибок отрабатывает только в варианте Эксель.ActiveWorkbook.Protect(Structure,Windows);
|
|
9
Zhuri
27.10.05
✎
10:13
|
Реально работает ВходExcel.Worksheets("мат").Activate(); ВходExcel.ActiveSheet.UnProtect(Пароль); //трали вали, тили тили ВходExcel.ActiveSheet.Protect(Пароль);
|
|
10
smaharbA
27.10.05
✎
10:21
|
Эксель = СоздатьОбъект("Excel.Application"); ИмяКниги = Эксель.Workbooks.Open("c:\1.xls").Name(); ///Код Эксель.Workbooks(ИмяКниги).Protect ("123"); ____________________________ Я конечно далек от мысли...(с)
|
|
11
smaharbA
27.10.05
✎
10:24
|
+(10) 4 (0) потомучто у тебя книга/лист стала неактивной, можно как в (9) но (10) лучче
|
|
12
smilerZ
27.10.05
✎
10:35
|
Эксель.ActiveSheet.Protect("12345678"); работает, спасибо. но не могу понять как включить опцию, что бы нельзя было выделять защищенные ячейки.
|
|
13
Gloom
27.10.05
✎
10:43
|
(12)Свойство EnableSelection относится к т.н. "does not stick", т.е. не запоминаются при программной установке, только при ручной установке через интерфейс...
|
|
14
smilerZ
27.10.05
✎
11:00
|
to 10, 12 спасибо, все заработало.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший