【问题标题】:How to check if an Excel document cell is being edited如何检查 Excel 文档单元格是否正在编辑
【发布时间】:2016-02-19 18:13:20
【问题描述】:

在 C# 中,如何检查 Excel 文档中是否有一个常规选定单元格,并且该单元格是否也处于活动状态以编辑其值?

手动,在 Excel 中,您可以通过单击左键选择单个单元格;您可以通过双击单元格开始编辑它...第二种情况是我需要以编程方式检查。

新编辑:问题在于,如果正在编辑单元格,则 Excel 会卡住,并且在访问活动工作簿时会发生崩溃。因此,如果我之前可以确定是否正在编辑单元格,我不会继续访问工作簿。

【问题讨论】:

  • 你是说要拦截“编辑”事件吗?你的代码在什么环境下运行?
  • 嗨,Simon,请查看问题中的“新编辑”,谢谢!
  • 如果我理解正确,您想在 Excel 打开工作表并且有人正在处理它时对其进行编辑?有可能吗?
  • 你可能会发现this similar msdn question很有用
  • @SimonMᶜKenzie 它有效!请复制您的评论并将其用作答案,然后我将发布更新的 c# 代码版本。谢谢

标签: c# excel


【解决方案1】:

正如SimonMᶜKenzie 建议的那样,我通过关注this document 找到了解决问题的技巧...

我实施的解决方案是这样的:

 bool IsCellBeingEdited(Excel.Application excelApp)
 {
   CORE.CommandBarControl cbc = excelApp.CommandBars.FindControl(1, 18, System.Type.Missing, System.Type.Missing);
   return cbc != null && !cbc.Enabled;
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多