|
07.08.2007, 11:08 | #1 |
Участник
|
Насколько я понимаю, Excel не поддерживает версионность COM-интерфейса. Т.е. чтобы физически была возможность запустить разные версии Excel через COM-интерфейс в реестре должны быть разные CLSID для разных версий. Но реально CLSID одинаковый для любой версии Excel. Вопрос только в том, что именно он запускает.
Это значит, что чтобы сделать возможность выбора версии Excel через COM-интерфейс надо иметь возможность напрямую править сам реестр. Изменить настройки (привязку) CLSID к конкретной версии Excel. Не думаю, что в этом есть смысл. Ведь если официально прописано о поддержке определенной версии Excel, то установка другой версии - это риск самого пользователя. Кроме того, конечно, некоторые свойства и методы COM-интерфейса в разных версиях меняются, но в основном, все остается без изменений. Так что, думаю, не должно быть особых проблем при работе со старшей версией, кроме некоторых специфических ситуаций. Да, проверить какую же версию Excel подхватил COM-интерфейс можно через свойство version() X++: Com excel; ; excel = new Com("Excel.Application"); info(strFmt("%1",excel.version())); |
|
|
За это сообщение автора поблагодарили: Андре (5), aidsua (1). |
07.08.2007, 11:26 | #2 |
Moderator
|
INFO: Автоматизация Office в системе, где установлено несколько версий пакета MS Office:
Цитата:
Бытует мнение, что при автоматизации Office в системе, где установлены пакеты несколько версий Office, можно указать загружаемую версию приложения с помощью программного идентификатора PROGID, который уникален для каждой версии продукта (например, для загрузки Excel 2000 служит идентификатор Excel.Application.9, Excel 2002 соответствует Excel.Application.10, а Office Excel 2003 — Excel.Application.11). В действительности это не так. Для Excel 2000, 2002 и 2003 используется один и тот же идентификатор класса (CLSID), а это значит, что версия приложения, загружаемая с одним из программных идентификаторов (PROGID), определяется только порядком установки версий программы.
|
|
|
За это сообщение автора поблагодарили: vladz (1). |
Теги |
excel |
|
|