Я унаследовал приложение 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", но я читал, что это может быть так, как показывает отладчик. Я новичок в надстройках и С#. Любые предложения или помощь будут очень благодарны.
С некоторой помощью, проб и ошибок я обнаружил, что это сработало:
string workBookPath = @"C:\Addin.xla"; Workbook excelWorkbook = excelApp.Workbooks.Open(workBookPath, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", false, false, 0, true, false, false);
Файлы .xla
должны иметь расширение .xla
или .xlam
. Задайте Workbook.IsAddin=true
, сохранив файл .xls
качестве надстройки Excel .xlam
.xls
? Кажется, это надстройка, преобразованная в рабочую книгу. support.microsoft.com/kb/156943/en-us Файлы.xla
имели расширение.xla
.