C# 在C中打开Excel加载项#
我继承了一个C#windows应用程序,它构建了一个大的电子表格以显示给用户。增强功能是将现有Excel加载项添加到此电子表格。我一直在尝试在电子表格完成后添加外接程序,代码如下:C# 在C中打开Excel加载项#,c#,excel,excel-interop,excel-addins,C#,Excel,Excel Interop,Excel Addins,我继承了一个C#windows应用程序,它构建了一个大的电子表格以显示给用户。增强功能是将现有Excel加载项添加到此电子表格。我一直在尝试在电子表格完成后添加外接程序,代码如下: excelApp.Visible = true; // trying to add the Add-in string workBookPath = @"C:\AddinIWasGiven.xls"; Workbook e
excelApp.Visible = true;
// trying to add the Add-in
string workBookPath = @"C:\AddinIWasGiven.xls";
Workbook excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
无论何时执行此操作,都会出现以下错误:
“无法打开Microsoft Excel加载项进行编辑。请改为编辑源文档。”。我不确定为什么会出现这个错误。我确实看到excelWorkbook返回为“C:\AddinIWasGiven.xls”,但我看到调试器可能就是这样显示它的。我是外接程序和C#的新手。如有任何建议或帮助,将不胜感激
通过一些帮助和反复试验,我发现这是可行的:
字符串workBookPath=@“C:\Addin.xla”;
工作簿excelWorkbook=excelApp.Workbooks.Open(workBookPath,0,false,5,“,”,false,XlPlatform.xlWindows,“,false,false,0,true,false,false) 加载项文件应具有
.xla
或.xlam
扩展名。通过将.xls
文件保存为Excel加载项.xlam
来设置工作簿.IsAddin=true
,它确实是一个.xls
文件?它似乎是转换为工作簿的外接程序。外接程序文件的扩展名通常为.xla
。它是一个.xls文件。我想知道这是否是问题所在。这可能是您的问题,请尝试将其保存为*.xlam
文件,IsAddin属性应为true
。谢谢@VDohnal的建议。我将文件改为.XLA,并将打开函数中的可编辑标志设置为false。这样就可以打开外接程序。