c# - VSTO 以编程方式添加基于现有工作表的新工作表

标签 c# ms-office vsto

我目前有一个 C# Workbook-level Office 2007 Addin有一个 Worksheet在设计时添加,我已将方法和属性添加到 Worksheet派生类。

我希望能够以编程方式创建一个克隆继承或以其他方式拥有此现有工作表类自动。

如果这可以实现,那么请有人概述一下如何实现吗?尽管可以接受任何 .NET 代码,但最好使用 C# 演示代码。

感谢您的宝贵时间。

最佳答案

好的,问得好,我会密切关注这里发生的事情。

几个月前,我遇到了类似的问题,需要在动态创建的工作表上创建代码和事件。然而,为了能够做到这一点,我最终在工作表中创建了 VBA 脚本对象。

所以过程是:

  1. 用户点击 Excel 中的按钮
  2. C# 进程创建新工作表
  3. C# 进程在工作表上创建 VBA 对象并创建事件等

     oBook = objExcel.ActiveWorkbook;

    oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);

    string sCode = "sub myVBASub()\r\n"+
            "msgbox("Hello")\r\n"+
            "End Sub\r\n";

    oModule.CodeModule.AddFromString(sCode);

关于c# - VSTO 以编程方式添加基于现有工作表的新工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593839/

相关文章:

ios - 直接从我自己的 iOS 应用程序打开 Microsoft Office 文档进行就地编辑

ms-office - 来自 Python 的 PowerPoint 演示文稿幻灯片计数?

Outlook 2003 插件

c# - 如何从办公室功能区控件中获取选定的单元格

c# - 使用 Id 列表查询 CosmosDB 的建议方法是什么

C# 控制台应用程序 - cmd.exe 挂起

c# - Linq - 从基于 "weight"和 "order"的列表中获取项目

ms-office - Office 2016 共享按钮 IdMso

c# - .NET - Excel ListObject 在数据绑定(bind)时自动调整大小

c# - 动态加载程序集