Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Работа с MS Excel


Автор: wesadex 7.11.2006, 11:09
Всем привет!

Покорырялся в drkb и понял одно: чтобы открыть xls файло надо знать версию MS Office. 
Требуется открывать много xls файлов, созданных разными версиями Office на компах с разными установленными версиями Office (от 2000 до 2003 как минимум), но так, чтобы юзеру не приходилось выбирать руками версию Office - ибо ламерье одно и не то, чтобы версию офиса знать, некоторые даже блокнотом пользоваться не умеют.

Лично я вижу один вариант (но возможно что я чего-то не знаю):
* как-то узнавать версию офиса по case Version of использовать нужную функцию открытия файла. Но тут есть один вопрос: Как узнать версию офиса установленного на машине? Если можно с примерами.

Если есть еще какие-то варианты: например какая-то универсальная функция открытия - буду опять же крайне благодарен за примеры.

p.s. Функцию сохранения результата в Excel не смотрел, но думается мне там та же ситуация? Если да, то за примеры и тут буду благодарен.  smile 

Автор: Elfebet 7.11.2006, 11:14
Цитата

Покорырялся в drkb и понял одно: чтобы открыть xls файло надо знать версию MS Office. 

кто это тебе надоумел?. Главное стобы Excel был, а не версия офиса.

Код

var Excel, WorkBook, Sheet: Variant; 
begin 
 Excel := CreateOleObject('Excel.Application');  
 Excel.WorkBooks.Open(FileName,False);  
 WorkBook := Excel.WorkBooks.Item[1];  
 Sheet := Workbook.Sheets.Item[3];  
 Sheet.Cells[1,2]:='ASDFG';  
 Sheet.Cells[2,2]:=230;  

Автор: wesadex 7.11.2006, 11:23
Значит я чего-то где-то недочитал или недоглядел. Прошу прощения!  smile  За кусок кода спасибо!

Автор: Albinos_x 7.11.2006, 11:29
читаем мою статью:
http://forum.vingrad.ru/topic-84634/view/all/index.html
там всё достаточно подробно написано...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)