如何防止特定细胞的修饰?
是否可以防止用户对某些特定单元格进行修改?我可以使用 VSTO 加载项插入 Excel 事件。
Is it possible to prevent user-made modifications of some specific cells? I can use VSTO add-in for plugging into Excel events.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看一下 工作表.更改事件。此事件采用 Range 对象。据我记得这个对象包含有关选择哪些单元格的信息。然后,您可以使用此单元格执行任何您想要的操作链接。
Take a look at Worksheet.Change Event. This event takes a Range object. As far as I remember this objects contains information about what cell(s) is selected. Then you can do with this cell whatever you want link.
我的方法略有不同。
我保护整个工作表,然后解锁特定的单元格或列或行,以便用户可以在这些工作表中填写详细信息。但你应该得到相同的结果。
代码已在 VS 2008 上进行了测试。
当用户单击锁定的单元格时,Excel 会抛出警报消息,指出单元格已锁定。这对用户来说很烦人。您可以禁用
displayalerts
。只需在声明
var activesheet
之前在ThisAddIn_Startup(object sender, System.EventArgs e)
中使用,并且不要忘记使用再次启用它,
这将解决烦人的问题警报消息。
My approach is slightly different.
I protect the complete sheet and then unlock particular cells or columns or rows, so user can fill details in those sheets. But you should get same results with this.
Code has been tested on VS 2008.
When user clicks on the locked cell, excel throws alert message saying cell is locked. Its annoying for user. You may disable
displayalerts
.Just use
in the
ThisAddIn_Startup(object sender, System.EventArgs e)
just before declaringvar activesheet
and do not forget the enable it in again usingThis will take care of the annoying alert message.