代码之家  ›  专栏  ›  技术社区  ›  Daniel Möller

如何在独立应用程序中从Interop.Excel.Worksheet获取Tools.Excel.Worksheets?

  •  0
  • Daniel Möller  · 技术社区  · 3 年前

    我有一个类库(可以被视为用于此目的的独立应用程序),它可以执行以下操作:

    • 创建新的excel应用程序
    • 创建新图纸
    • 填充图纸
    • 需要将控件添加到包含事件的工作表中(c#事件,不愿意使用VBA或文本脚本)

    我的库不能有其他项目类型,也不能是VSTO加载项(因为此库已经是另一个与Office无关的应用程序的加载项,所以我无法更改)

    尽管如此,我注意到我可以参考 Microsoft.Office.Tools.Excel.dll 库并访问它的类型,这些类型公开了我想要探索的控制方法。

    因此,问题是:

    • 我怎样才能拿到 Microsoft.Office.Tools.Excel.Worksheet 来自 Microsoft.Office.Interop.Excel.Worksheet 对象

    来自Microsoft documentation ,我看到他们建议使用 Globals.Factory.GetVstoObject(nativeWorkbook) 。问题是:我的应用程序不是VSTO加载项,并且我没有 Globals 变量。

    • 有没有办法访问 Globals 独立应用程序中的类/变量?
    • 有没有办法创建 Globals 来自的实例 Microsoft.Office.Interop 以某种方式

    不幸地 Factory 不是我可以实例化的类,它只是一个接口

    • 有可能创造一个无形的 工厂 在独立的应用程序中?
    0 回复  |  直到 3 年前
        1
  •  0
  •   Eugene Astafiev    3 年前

    不,这是不可能的。这个 Globals 命名空间仅对基于VSTO的加载项有意义。请在 Global access to objects in Office projects 文章