Открыть книгу Excel с кодом VBA - ошибка, чтобы уведомить VSTO - PullRequest
0 голосов
/ 23 декабря 2011

Я пытаюсь открыть файл Excel из моего кода C #.

workBook = workBooks.Open(fileName,               //filename
                          0,                      //updatelinks
                          true,                   //readonly
                          5,                      //format
                          "",                     //password
                          "",                     //WriteResPassword
                          true,                   //IgnoreReadOnlyRecommended
                          XlPlatform.xlWindows,   //Origin
                          "\t",                   //Delimiter
                          false,                  //Editable
                          false,                  //Notify
                          0,                      //Converter
                          true,                   //AddToMru
                          1,                      //Local
                          0);                     //CorruptLoad

Я вижу, что код висит на workBooks.Open , если в Excel есть какая-то ошибка. Я сохранил для свойства display значение true, и именно тогда я заметил, что в Excel произошла ошибка. При дальнейшем исследовании я узнал, что ошибка вызвана из-за некоторого кода VBA в Excel, который не работает. Мое требование - как мне получить мой код C #, чтобы получать уведомления об этом, чтобы он мог игнорировать ошибку в файле или сам файл?

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Другой альтернативой использованию библиотеки intreop является http://code.google.com/p/excellibrary/, которая не требует, чтобы у вас был установлен Excel или Excel.dll и был зарегистрирован и зарегистрирован на вашем компьютере или сервере, на котором вы его устанавливаете.

1 голос
/ 23 декабря 2011

Что вы пытаетесь достичь?Может быть, достаточно использовать Microsoft Open XML SDK?
Вы можете читать, создавать и редактировать файлы Excel вместе с ним.

...