Как определить версию excel

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Как определить версию excel

Сообщение s2176 »

Добрый день!
Можно ли как-то программно определить, какая версия у excel, стоящего на компе.
У разных пользователей стоят разные версии, соответственно, расширение у файла-отчета должно быть разное.
Я знаю, что если расширение не указывать в имени файла, то оно сформируется автоматически, но мне нужно не просто сделать отчет, но и автоматически сразу отправить его по эл.почте.
Вот здесь и происходит затык. Без расширения файл к письму не прикрепляется.
Кто сказал, что бесполезно биться головой об стену?!
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Как определить версию excel

Сообщение RAJAH »

Макрос в помощь: Application.Version
Irina_
Местный житель
Сообщения: 553
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Как определить версию excel

Сообщение Irina_ »

Здравствуйте. См. обсуждение по теме
http://tyumbit.ru/gal_forum/viewtopic.p ... 1%8F+Excel
Там есть и по поводу версии Excel. Сама на прошлой неделе воспользовалась (для нахождения ограничения строк и для формирования расширения файла). Спасибо edward_K.
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Как определить версию excel

Сообщение s2176 »

Спасибо, Ирина!
Работает)))
Кто сказал, что бесполезно биться головой об стену?!
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Re: Как определить версию excel

Сообщение Masygreen »

s2176 писал(а):Спасибо, Ирина!
Работает)))
принято рабочие версии найденных решений выкладывать в тему .. чтоб потом друг-друга ссылками не кормить ..
Время ведет!
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Как определить версию excel

Сообщение s2176 »

Простите, я не была в курсе принятых решений :-)

var VersionExcel: string;
...
xlOpenNewExcel(false) //чтобы определить версию, нужно обязательно сначала запустить excel
xlGetVersionExcelInstall(VersionExcel);
xlKillExcel;
if double(VersionExcel)>11 ... //версия больше 2003, вроде так :grin:, у меня на машине 2010 офис, возвращает версию под номером 14.
Кто сказал, что бесполезно биться головой об стену?!
Irina_
Местный житель
Сообщения: 553
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Как определить версию excel

Сообщение Irina_ »

Здравствуйте. Указала ссылку потому, что посчитала, что лучше не дублировать то, что советовал кто-то ранее. Если кому-то удобнее другое, то:
var VersionExcel : String;
pos1 : Byte;

xlOpenNewExcel( False );
xlGetVersionExcelInstall( VersionExcel );// версия Excel
xlKillExcel;
pos1:= Pos( '.', PathToFile);
if Double( VersionExcel ) > 11
{
PathToFile:= Substr( PathToFile, 1, pos1) + 'xlsx'
}
else
{
PathToFile:= Substr( PathToFile, 1, pos1) + 'xls'
}

Еще раз спасибо edward_K. Приведенной им ф-ции xlGetVersionExcelInstall не было в Excel_Lib.pdf.
Ответить