如何从VSTO安装VBA-AddIn并调用宏

时间:2017-09-11 04:40:41

标签: excel excel-vba vsto vba

我的*.xlam文件带有 VBA宏 VSTO 带有灵活的功能区。 我想从 VSTO 安装 VBA-AddIn ,然后调用 VBA-macros ,但是当我尝试此代码时,只有在重启Excel后才能使用宏应用。是否可以在不重启的情况下提供可用的宏?

    var addin = appExcel.AddIns.Add(addinPath, false);

    foreach (Excel.AddIn addIn in appExcel.AddIns)
    {
        if (addIn.Name.Contains("VbaLibName"))
        {
            addIn.Installed = true;
        }
    }

    Globals.ThisAddIn.Application.Run(macroName);

1 个答案:

答案 0 :(得分:0)

我发现,这种行为是由异常引起的。我试图在ThisAddIn_Startup中调用此代码,并且应用程序没有任何已打开的工作簿。 在添加插件之前,我通过这行代码解决了问题。

    Excel.Workbook wb = appExcel.Workbooks.Add();