Excel OLE - .NET COM AddIn ведет себя иначе, когда Excel встроен в приложение - PullRequest
1 голос
/ 02 октября 2009

У меня есть надстройка .NET (C #), которая использует COM Shim dll для загрузки себя в Excel. Надстройка работает нормально без каких-либо проблем, когда Excel работает нормально. Надстройка отображает собственную панель инструментов в Excel, которая используется для выполнения различных команд.

Когда я встраиваю Excel в другое приложение (например, DSOFramer и т. Д.), Надстройка начинает вести себя странно. Кажется, что если я отключаю кнопку на ее панели инструментов, то после установки свойства Visible она снова не включается. Кроме того, я получаю кучу ошибок «Ссылка на объект не установлена», потому что объект Application :: Selection имеет значение NULL, что никогда не происходит при нормальной работе Excel. Иногда я также получаю ошибки разрешения при вызове метода Application :: GetAddIns ().

Я не уверен, что здесь происходит, и я не смог найти статьи, объясняющие поведение надстроек Excel COM, когда Excel встроен в другое приложение.

Ответы [ 2 ]

1 голос
/ 29 декабря 2009

Я связался с Microsoft Professional по этой проблеме и обнаружил, что Microsoft теперь не рекомендует встраивать офисные приложения. Мне было предложено либо прекратить встраивание Excel в приложение, либо использовать только Excel 2007 с пользовательским интерфейсом ленты. Согласно MS, в интерфейсе ленты нет этих проблем.

Проблема с CommandBars заключается в том, что согласование происходит только во время OnConnection, и никакие изменения не могут быть сделаны впоследствии.

1 голос
/ 08 октября 2009

Должен признать, что я мало знаю о dSOFramer, но я столкнулся со следующими пунктами. Я не знаю, помогают ли они вообще.

текст ссылки

текст ссылки

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