Имя: Пароль:
1C
 
Запрет редактирования ячеек в 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) сейчас до дела дойдет прочитаю подробнее, но я его читал