我正在为Excel编写C#VSTO。 保护工作表但保留一些单元格解锁以供编辑的功能之一。 为了保护工作表,我使用以下代码:
_Worksheet ws = WP.Application.ActiveSheet;
ws.Protect(null, true, true, true, AllowFormattingCells: true);
在保护工作表之前,用户可以使用Excel UI设置一些未锁定的单元格,如图所示。
我正在寻找一种保护工作表后设置未锁定单元格前景色的方法。 到目前为止,我的代码是对UsedRange进行迭代并检查每个单元格:
foreach (Range cell in ws.UsedRange)
{
if (!cell.Locked)
{
cell.Interior.Color = ColorTranslator.ToOle(Color.Bisque);
}
}
我知道这没有效率。关于范围的锁定状态,还有更多查询excel的方法吗?