![]() |
|
Запрет редактирования ячеек в Excel | ☑ | ||
---|---|---|---|---|
0
LivingStar
26.08.14
✎
07:44
|
Задача в сохранении/выгрузке печатной формы из 1с в Excel. Что бы в полученном файле для редактирования был доступен только один столбец. А остальные закрытые были для редактирования. Есть ли у кого пример по этой задаче? Или можете ссылку дать?
|
|||
1
13_Mult
26.08.14
✎
08:07
|
Возможно вам сюда http://goo.gl/974f06
|
|||
2
DrZombi
гуру
26.08.14
✎
08:16
|
(0) Записываешь файл ексель средствами 1С.
Открываешь через ОЛЕ - КОМ соединение свой файлик в Екселе... И начинаешь колдовать на Басике :) |
|||
3
DiMel_77
26.08.14
✎
08:18
|
Как то так:
WorkBooks = Excel.WorkBooks.Open(ИмяФайла); //Получим первый лист ExcelЛист = WorkBooks.Sheets(1); //Установим защиту на ячейки Range = Excel.Range(ExcelЛист.Cells(1, 1), ExcelЛист.Cells(ТабличныйДокумент.ВысотаТаблицы, ТабличныйДокумент.ШиринаТаблицы)); Range.Locked = 1;//Заблокировать - 0 разблокировать //Защитим лист //1) Password - Пароль доступа к рабочему листу, задаваемый с учетом регистра. Если этот аргумент не задан, можно снять защиту рабочего листа, не используя пароль. В противном случае чтобы снять защиту рабочего листа, необходимо указать пароль. Если пароль утерян, снять защиту с рабочего листа будет невозможно. Список паролей и соответствующие имена документов следует хранить в надежном месте. //2) DrawingObjects - Значение true для защиты фигур. Значение по умолчанию — true. //3) Contents - для защиты содержимого заблокированных ячеек. ?Значение по умолчанию — true. //4) Scenarios - Значение true для защиты скриптов. ?Значение по умолчанию — true. //5) UserInterfaceOnly - Значение true используется для защиты пользовательского интерфейса, но не макросов. Если этот аргумент не указан, защита применяется как к макросам, так и к пользовательскому интерфейсу. //6) AllowFormattingCells - Значение true позволяет пользователю производить форматирование любой ячейки защищенного рабочего листа. Значение по умолчанию — false. //7) AllowFormattingColumns - Значение true позволяет пользователю производить форматирование любого столбца защищенного рабочего листа. Значение по умолчанию — false. //8) AllowFormattingRows - Значение true позволяет пользователю производить форматирование любой строки защищенного рабочего листа. Значение по умолчанию — false. //9) AllowInsertingColumns - Значение true позволяет пользователю вставлять столбцы в защищенный рабочий лист. Значение по умолчанию — false. //10) AllowInsertingRows - Значение true позволяет пользователю вставлять строки в защищенный рабочий лист. Значение по умолчанию — false. //11) AllowInsertingHyperlinks - Значение true позволяет пользователю вставлять гиперссылки в защищенный рабочий лист. Значение по умолчанию — false. //12) AllowDeletingColumns - Значение true позволяет пользователю удалять столбцы из защищенного рабочего листа, если ни одна из ячеек удаляемого столбца не заблокирована. Значение по умолчанию — false. //13) AllowDeletingRows - Значение true позволяет пользователю удалять строки из защищенного рабочего листа, если ни одна из ячеек удаляемой строки не заблокирована. Значение по умолчанию — false. //14) AllowSorting - Значение true позволяет пользователю производить сортировку в защищенном рабочем листе. Ни одна из ячеек в сортируемом диапазоне не должна быть заблокирована или не должна быть защищена. Значение по умолчанию — false. //15) AllowFiltering - Значение true позволяет пользователю применять фильтры к защищенному рабочему листу. Пользователь может изменить критерии фильтрации, но не может включать или отключать автофильтрацию. Пользователь может применять фильтры к существующим автофильтрам. Значение по умолчанию — false. //16) AllowUsingPivotTables - Значение true позволяет пользователю применять отчеты сводных таблиц к защищенному рабочему листу. Значение по умолчанию — false. Пароль = ПарольЛиста; ExcelЛист.Protect(Пароль,0,,,,1,1,1,,1,,,,,,); |
|||
4
LivingStar
26.08.14
✎
08:27
|
(2) Да видимо. Как в ручную это сделать в Excel нашел. Через меню рецензирование, предварительно сняв защиту через контекстное меню с диапазона который будет открыт для редактирования. Спасибо за пример, нужно будет пробовать.
|
|||
5
LivingStar
26.08.14
✎
09:25
|
(3) прежде чем защитить лист, нужно снять защиту с нужного диапазона ячеек, который можно будет поменять
|
|||
6
DiMel_77
26.08.14
✎
13:09
|
(5) Да ладно ... я дал вырезку из своей работающей обработки и специально вставил
Range.Locked = 1;//Заблокировать - 0 разблокировать чтобы понятней было, но видимо читать модуль не пробовал. |
|||
7
LivingStar
26.08.14
✎
20:14
|
(6) сейчас до дела дойдет прочитаю подробнее, но я его читал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |