Excel VSTO, установить другой цвет для заблокированных ячеек на защищенном листе - PullRequest
2 голосов
/ 10 июля 2019

Я пишу C # VSTO для Excel.Одной из функций является защита листа, но оставить некоторые ячейки разблокированными для редактирования.Для защиты листа я использую следующий код:

_Worksheet ws = WP.Application.ActiveSheet;
ws.Protect(null, true, true, true, AllowFormattingCells: true);

До того, как лист был защищен, пользователь смог установить некоторые ячейки разблокированными с помощью пользовательского интерфейса Excel, как показано на рисунке.Unlocked cells

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

foreach (Range cell in ws.UsedRange)
{
    if (!cell.Locked)
    {
        cell.Interior.Color = ColorTranslator.ToOle(Color.Bisque);
    }
}

Я знаю, что это неэффективно.Есть ли еще способ запросить Excel о состоянии блокировки диапазона?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...