Показать сообщение отдельно
Старый 31.10.2014, 11:02   #5  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Thumbs up
Цитата:
Сообщение от demianimp Посмотреть сообщение
Добрый день.

Прошу помощи в моей проблеме. Формирую документ Excel через код, научился блокировать доступ к ячейкам на вкладке, но никак не могу найти как в аксапте сделать код:
election.AutoFill Destination:=Range("A42:A43"), Type:=xlFillDefault //разрешить редактировать ячейки.
ActiveWorkbook.Protect Structure:=True, Windows:=False //Защитить книгу

Люди добрые, помогите пожалуйста. Может у кого есть готовый рецепт проблемы
Спасибо всем за помощь. Я нашел такое решение своей проблемы.
1) Разрешить редактировать определенные ячейки
X++:
ComExcelDocument_RU    comExcelDocument;
COM                    comDocument,
                       comApp,
                       comWorkBook,
                       comWorkSheet,
                       comProtection,
                       comRange,
                       comEditRanges;
;
comExcelDocument = new ComExcelDocument_RU();
comExcelDocument.newFile('', false);

comDocument   = comExcelDocument.getComDocument();
comApp            = comDocument.application();
comWorkSheet = comApp.ActiveSheet();
comWorkBook  = comApp.ActiveWorkbook();
/*
сюда вставить нужный алгоритм
*/
comRange = comWorkSheet.range(/*нужные ячейки*/);
comProtection = comWorkSheet.protection();
comEditRanges = comProtection.AllowEditRanges();
comEditRanges.Add('comRange', comRange);

comWorkSheet.protect('Pa$$w0rD');
2) Запрет изменения структуры документа EXCEL
X++:
ComExcelDocument_RU    comExcelDocument;
COM                    comDocument,
                       comApp,
                       comWorkBook;
;
comExcelDocument = new ComExcelDocument_RU();
comExcelDocument.newFile('', false);

comDocument   = comExcelDocument.getComDocument();
comApp            = comDocument.application();
comWorkBook  = comApp.ActiveWorkbook();
/*
сюда вставить нужный алгоритм
*/
comWorkBook.protect('Pa$$w0rD');

Последний раз редактировалось demianimp; 31.10.2014 в 11:05.