В VSTO c #, есть ли способ ограничить пользователя, чтобы показать, удалить столбцы в Excel программно - PullRequest
0 голосов
/ 27 мая 2019

Я хочу запретить пользователю просматривать скрытые столбцы на всех листах книги Excel. Я добавил функциональность на всех листах, чтобы заблокировать столбец 4 и защитить лист, и необходимо разрешить редактирование всех остальных столбцов.в первый раз он работает нормально, но когда я меняю листы, команда защиты листов не работает. Когда я загружаю детали для каждого листа динамически, я снимаю защиту листа и загружаю детали, а также блокирую скрытые столбцы и защищаю лист, как показано накод

   Globals.Sheet1.Columns[4].Style.Locked = true;
   Globals.Sheet1.Protect("",//password
                                 Type.Missing,  //drawing objects
                                true,   //Contents
                                Type.Missing,  //scenarios
                                true,  //user interface
                                true,   //format cells
                                false,   //format columns
                                false,   //format rows
                                Type.Missing,  //insert columns
                                true,  //insert rows
                                Type.Missing,   //insert hyperlinks
                                false,  //delete columns
                                true,  //delete rows
                                Type.Missing,   //allow sorting
                                Type.Missing,   //allow filtering
                                Type.Missing    //allow pivot tables
                                );
    Globals.Sheet1.Columns[1].Style.Locked = false;
    Globals.Sheet1.Columns[2].Style.Locked = false;
    Globals.Sheet1.Columns[3].Style.Locked = false;
...