是否可以防止用户对某些特定单元格进行修改?我可以使用VSTO加载项来插入Excel事件。如何防止特定细胞的修饰?
1
A
回答
1
看看Worksheet.Change Event。这个事件需要一个Range对象。据我记得,这些对象包含有关选择哪些单元的信息。然后你可以用这个单元格做任何你想要的link。
1
我的方法稍有不同。
我保护完整的工作表,然后解锁特定的单元格或列或行,以便用户可以填写这些工作表中的详细信息。但你应该得到与此相同的结果。
的代码对VS 2008
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
var activesheet = (Excel.Worksheet)this.Application.ActiveSheet;
// keep particular cell unlocked
activesheet.get_Range("A1",missing).Locked = false;
// keep entire row unlocked
activesheet.get_Range("B2", missing).EntireRow.Locked = false;
// keep entire column unlocked
activesheet.get_Range("C1", missing).EntireColumn.Locked = false;
// keep particular range (D4 - E8) unlocked
activesheet.get_Range("D4","E8").Locked = false;
activesheet.Protect(missing, missing, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);
}
经测试当用户单击锁定的单元格,Excel会引发警报消息称细胞被锁定。它烦人的用户。您可以禁用displayalerts
。
只需使用
this.Application.DisplayAlerts = false;
在
ThisAddIn_Startup(object sender, System.EventArgs e)
刚刚宣布var activesheet
之前,不要忘了在再次使用
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
this.Application.DisplayAlerts = true;
}
这会照顾恼人警报消息的启用它。
相关问题
- 1. 如何防止表细胞从扩大
- 2. 如何防止细胞周转效应?
- 3. 禁止特定细胞拉伸
- 4. PowerBI - 特定细胞
- 5. 如何修改在细胞
- 6. Python的大熊猫防止细胞
- 7. ARRAYFORMULA特定的细胞
- 8. 计数特定细胞
- 9. 如何在细胞中点击修改特定的单元格的值,并设置回细胞
- 10. 如何分配在Matplotlib表特定颜色的特定细胞?
- 11. 如何XLSX写和修改的细胞
- 12. 如何修改cellForRowAt斯威夫特之外的细胞
- 13. 我该如何防止所有细胞被染色?
- 14. 如何防止“#Div/0!”在计算细胞(Aspose Cells)中?
- 15. 防止使用静态修饰符
- 16. PHPExcel锁定特定的细胞
- 17. 如何识别里面超过5秒的UITableView细胞修饰用户
- 18. 从UILongPressRecognizer确定细胞的细胞
- 19. UITable Matlab的 - 访问特定的细胞
- 20. 的Javascript:写在特定的细胞
- 21. 如何创建checkstyle规则防止特定的修改clasess
- 22. 如何修改jscript以防止滚动的特定链接?
- 23. 如何细胞
- 24. 中选择特定的细胞
- 25. 给裕一个特定的细胞,UICollectionVIew
- 26. 值添加特定的细胞
- 27. 从特定细胞中的另一片
- 28. 查找特定细胞的Excel VBA宏
- 29. 访问特定的细胞加载VSTO
- 30. 提取特定的细胞从网表
我知道如何为vsto excel工作簿做到这一点。我应该把它作为答案吗?插件和工作簿的代码应该类似.. –