.NET& Excel Interop:将用户选择复制到剪贴板

时间:2009-09-29 19:39:57

标签: c# .net excel interop

相当简单的场景,我似乎无法在任何地方找到答案

  • 我正在使用Microsoft WebBrowser Windows窗体中的ActiveX控件(AxSHDocVw.AxWebBrowser) 应用。
  • WebBrowser控件 用于显示Excel工作簿 应用程序。
  • 我可以获得一个 引用内部文件为 一个 Microsoft.Office.Interop.Excel.Workbook。
  • 尽管如此,我似乎无法找到 搜索网络的时间是任何 关于如何确定的可靠指导 当前选择的单元格范围 由最终用户

这是问题所在。由于工作表显示在浏览器中,它没有显示Excel工具栏,我想提供至少一些基本功能(剪切,复制,粘贴,撤消,重做,加粗)从我的应用程序的主窗口中,斜体,下划线,左,右,中心等)。为此,我需要能够将这些命令转发到活动工作表上。如果我想正确执行它们,其中一些命令需要知道当前选择的范围。

如果有人知道如何做到这一点,我会永远欠你的债。 (好吧,也许不是永远,但你明白了。)

[注意:我使用旧的ActiveX控件,以便我可以捕获NavigateComplete2事件以捕获对内部文档的引用。 .NET WebBrowser控件不会以相同的方式公开此功能。]

3 个答案:

答案 0 :(得分:1)

如果您可以获得工作簿参考,您应该能够执行.Application.Selection来获取当前选定的范围。

答案 1 :(得分:0)

SpreadsheetGear for .NET包含一个与Excel兼容的Windows窗体控件,您可能会更容易在.NET应用程序中使用它。

您可以下载免费试用here

免责声明:我拥有SpreadsheetGear LLC

答案 2 :(得分:0)

使用以下代码检查....

if (wkbk.Application.Selection != null)
{
   if (wkbk.Application.Selection is Excel.Range)
   {
      //your code to obtain an Excel.range object goes here...
   }
}