用C#创建一个Excel加载项应用程序

本文关键字:一个 Excel 加载项 应用程序 创建 | 更新日期: 2023-09-27 18:20:48

我想创建一个Excel加载项。但我希望它有一个特殊的行为。

然后问题是,我开发的Excel加载项停留在Excel中。即使我从Windows运行普通Excel实例。。。

因此,更准确地说,我想要的是一个Excel加载项,它只有在我自己的C#应用程序启动时才会出现在Excel的功能区中。

我该怎么做?

行为将是:

  • 运行我的C#应用程序
  • 我的C#应用程序调用一个新的Excel实例
  • 我的C#应用程序将一个新选项卡(及其元素)添加到此Excel实例的功能区
  • 我的C#应用程序添加绑定到选项卡元素的操作
  • Excel的实例正在关闭>删除所有添加的组件、函数、方法
  • 关闭我的C#应用程序

用C#创建一个Excel加载项应用程序

这里有一个很好的教程:http://www.add-in-express.com/free-addins/net-excel-addin.php

编辑:

你有没有考虑过只禁用加载项,然后每当你用后台运行的服务器启动应用程序时重新启用它,当excel关闭时,就会禁用加载项?

这是我在这里找到的一些卸载代码:

private void UnloadBadAddins(bool unloadAddin)
{
    const string badAddin = "iManage Excel2000 integration (Ver 1.3)";
    foreach(Office.COMAddIn addin in this.ExcelApp.COMAddIns)
    {
        if (addin.Description.ToUpper().Contains(badAddin.ToUpper()))
        {
            if (addin.Connect == unloadAddin)
            {
                addin.Connect = !unloadAddin;
                return;
            }
        }
    }
}

我在Microsoft.Office.Interop.Excel.Application类上发现了以下两个属性:

var excel = new Application();
excel.AddIns
excel.AddIns2

也许这些可以帮助您在应用程序运行期间以编程方式添加/删除加载项?