![]() |
#10 |
Участник
|
Насколько я понимаю, 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). |
Теги |
excel |
|
|