如何使用C#使Excel范围的单元格不可编辑

时间:2012-05-15 13:01:44

标签: c# excel

我在WPF应用程序中使用C#构建了一个Excel应用程序。在那个Excel中我创建了一个标题行。现在我想将标题行单元格设为不可编辑的单元格,它应该恢复为之前的值。为此,我使用验证作为标题行来满足此条件。当我要更改Header行中的任何单元格时,它将显示一个警告框。警报框图标不正确,还有一些其他按钮,如重试,取消和帮助。

1)现在我想知道如何通过使用更好的格式获取警报框(图标应该是信息图像,它应该有重试和取消按钮。不需要帮助按钮)。

(或)

2)我不想显示警告框但是新修改的值必须恢复到之前的值。细胞必须是不可编辑的。

(或)

3)我们可以使用锁定特定范围的细胞吗?

该条件的代码是:

public static void FormatAsHeader(this Range range, bool wrapContent)
{
 .
 .
range.Validation.Add(XlDVType.xlValidateCustom, Type.Missing, Type.Missing, "\"\"");
}

任何人都可以告诉我这个问题的解决方案吗?

1 个答案:

答案 0 :(得分:4)

您应该可以执行:range.Locked = true;,然后在工作表上调用Protect()

请参阅Range.LockedWorkSheet.Protect