lodyr
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору V1s1ter Цитата: Но я бы остановился на версии 97 года, так как может пользователь записать файл на одной машине (где стоит офис 2010), а прочитать на другой, на которой и нет офиса 2010. | Я так и делал. Т.е. задавал по-умолчанию расширение файла *.xls Но компоненты экспорта формируют файл Excel физически в том формате, какая версия Офиса установлена! Вот и получается, пользователь сохранил файл реально в формате офис 2010, но с расширением *.xls А прочитать на другой, на которой и нет офиса 2010, не получается. Понять, что это формат офис 2010, невозможно, т.к. расширение не то. Ведь если бы оно было *.xlsx тогда и проблемы бы не было. Цитата: проверяй наличие exe-файла, в его заголовке есть версия офиса. Пути к файлу можно брать из реестра. | Дык в этом тоже проблема. В реестре остались все пути, начиная аж с Office 97 - 8.0 На харде - тоже полно полупустых папок от всех ранее и ныне установленных офисов. Как выкрутиться, ума не приложу. Перебирать их все и смотреть в какой реально есть exe-файл, как то муторно.. Есть какие-нибудь идеи? Добавлено: Кажется, нашёл зацепку! ----------------------------- Ключ, для определения текущей версии Офиса Если Office 2003, то: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Common\Licensing ---------------------------- Если Office 2007, то: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Common\Licensing ---------------------------- Если Office 2010, то: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Licensing ---------------------------- Проверяем, если есть значения ключей кроме "(Default)" в секции "Licensing" от 2007/2010, то расширение *.xlsx в остальных случаях - *.xls | Всего записей: 710 | Зарегистр. 06-02-2005 | Отправлено: 14:12 10-10-2010 | Исправлено: lodyr, 18:58 10-10-2010 |
|