Excel XLSTART проблема с C # /. Net - PullRequest
4 голосов
/ 18 ноября 2010

У меня есть приложение на C # (.Net 1.1), и я использую Excel Interop для отображения некоторых запросов.Оказывается, что при открытии книги Excel файлы в XLSTART не читаются, как если бы был запущен переключатель командной строки / автоматизации.

Есть ли способ включить XLSTART при запуске листа XLS из C #

Ответы [ 2 ]

2 голосов
/ 18 ноября 2010

Это поведение является намеренным. Вы можете загрузить надстройки в папку XLSTART самостоятельно, как описано Microsoft:

Надстройки не загружаются при использовании команды CreateObject в Excel

Другой вариант - запустить Excel, используя Process.Start, а затем объект автоматизации из запущенного экземпляра, вызвав функцию AccessibleObjectFromWindow.

Пример кода, как это сделать в C # или VB, можно найти в связанном вопросе:

Как использовать позднюю привязку для получения экземпляра Excel?

Обратите внимание, что вам не нужно использовать позднюю привязку, как в приведенном примере. Модифицируйте образец таким образом, чтобы получить строго типизированный объект Excel.Application:

Excel.Application xlApp = ptr.GetType().InvokeMember("Application",
    BindingFlags.GetProperty, null, ptr, null);
0 голосов
/ 18 ноября 2010

Поскольку он использует взаимодействие, он открывает Excel в качестве сервера автоматизации. Это то же самое, что и использование ключа / Automation. Когда Excel открывается таким образом, все автоматически открываемые файлы и автоматически запускаемые макросы отключаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...