Страница 1 из 1

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

Добавлено: 01 июн 2015, 15:22
s2176
Добрый день!
Можно ли как-то программно определить, какая версия у excel, стоящего на компе.
У разных пользователей стоят разные версии, соответственно, расширение у файла-отчета должно быть разное.
Я знаю, что если расширение не указывать в имени файла, то оно сформируется автоматически, но мне нужно не просто сделать отчет, но и автоматически сразу отправить его по эл.почте.
Вот здесь и происходит затык. Без расширения файл к письму не прикрепляется.

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

Добавлено: 01 июн 2015, 15:31
RAJAH
Макрос в помощь: Application.Version

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

Добавлено: 01 июн 2015, 16:24
Irina_
Здравствуйте. См. обсуждение по теме
http://tyumbit.ru/gal_forum/viewtopic.p ... 1%8F+Excel
Там есть и по поводу версии Excel. Сама на прошлой неделе воспользовалась (для нахождения ограничения строк и для формирования расширения файла). Спасибо edward_K.

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

Добавлено: 02 июн 2015, 08:23
s2176
Спасибо, Ирина!
Работает)))

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

Добавлено: 02 июн 2015, 13:51
Masygreen
s2176 писал(а):Спасибо, Ирина!
Работает)))
принято рабочие версии найденных решений выкладывать в тему .. чтоб потом друг-друга ссылками не кормить ..

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

Добавлено: 02 июн 2015, 14:13
s2176
Простите, я не была в курсе принятых решений :-)

var VersionExcel: string;
...
xlOpenNewExcel(false) //чтобы определить версию, нужно обязательно сначала запустить excel
xlGetVersionExcelInstall(VersionExcel);
xlKillExcel;
if double(VersionExcel)>11 ... //версия больше 2003, вроде так :grin:, у меня на машине 2010 офис, возвращает версию под номером 14.

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

Добавлено: 02 июн 2015, 14:19
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.