获取非活动工作表上的选择

时间:2013-07-10 15:50:20

标签: c# excel-interop

我需要获取当前在某些非活动工作表上选择的范围。 如果我在例如Sheet1(A3:B5)上选择一些任意范围并切换到Sheet2,则选择将被更改,如果我返回到Sheet1,则选择也将返回(A3:B5)

我知道Application界面中的Selection属性,但只返回当前活动文档的选择。

是否有选定范围的地址,因为我可以使用它也会有所帮助:

worksheet.get_Range(address);

1 个答案:

答案 0 :(得分:2)

表格中没有像selection这样的内容没有效果。我同意,当您移动到任何其他工作表时,您的选择将更改为您之前离开此工作表时选择的范围。但是,如果工作表未处于活动状态,您将无法检查它。

我能想到的唯一解决方法是:

  1. 关闭应用程序的ScreenUpdating property
  2. 激活您需要的工作表检查选择
  3. 检查选择
  4. 返回适当的表格
  5. 开启ScreeUpdating
  6. 另一种选择是每次使用string Public variableSheet deactivate event离开工作表时记住选择地址。