【发布时间】:2014-08-18 18:25:11
【问题描述】:
我继承了一个 C# windows 应用程序,该应用程序构建了一个大电子表格以显示给用户。一项增强功能是将现有 Excel 加载项添加到此电子表格中。一旦电子表格在代码中完成后,我一直在尝试添加插件:
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);
【问题讨论】:
-
确实是
.xls文件?它似乎是一个转换为工作簿的加载项。 support.microsoft.com/kb/156943/en-us 加载项文件曾经有.xla扩展名。 -
这是一个 .xls 文件。我想知道这是否是问题所在。
-
可能是你的问题,尝试保存为
*.xlam文件,IsAddin属性应该是true。 -
感谢@VDohnal 的建议。我将文件更改为 .xla,并且不得不将 Open 函数中的可编辑标志设置为 false。这允许打开加载项。
标签: c# excel excel-interop excel-addins