Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Еще раз об Exсel e   Найти похожие ветки 

 
Gremlin   (2003-05-15 09:17) [0]

Кто знает, подскажите.
1.Какая разница между компонентами Excel97 и Excel2000.
2.Как лучше писать для обоих офисов.
3.Как определить какой офис установлен.


 
AbrosimovA   (2003-05-23 15:58) [1]

Код ниже нормально работает для Office 97 и 2000(проверено).

Uses .....,Excel97,Excel2000,Registry;

function IsOLEObjectInstalled(Name: String): boolean;
var
ClassID: TCLSID;
Rez : HRESULT;
begin
// Ищем CLSID OLE-объекта
Rez := CLSIDFromProgID(PWideChar(WideString(Name)), ClassID);
if Rez = S_OK then Result := true // Объект найден
else Result := false;
end;

procedure TMainForm.FormCreate(Sender: TObject);
if not IsOLEObjectInstalled("Excel.Application") then begin
ShowMessage("Класс не зарегистрирован");
Application.Terminate;
end;
ConnectExcel;
end;

procedure TMainForm.ConnectExcel;
var cls_ExcelObject:string;
RegData:TRegistry;
begin
cls_ExcelObject := "Excel.Application";
//Определение установленной версии Excel
regData := TRegistry.Create;
regData.RootKey := HKEY_CLASSES_ROOT;
try
if regData.OpenKey("\Excel.Application\CurVer", False) then begin
cls_ExcelObject := regData.ReadString("");
regData.CloseKey;
end
finally
regData.Free;
end;
try
Excel:=CreateOleObject(cls_ExcelObject);
// Отключаем реакцию Excel на события, чтобы ускорить вывод информации
Excel.Application.EnableEvents := false;
Workbook :=Excel.WorkBooks.Add;
WorkBook:=Excel.WorkBooks.Open(ExtractFilePath
(Application.ExeName)+"xxx.xls");
WorkSheet1:=WorkBook.WorkSheets[1];
WorkSheet1.Name:="Лист №1";
end;



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.013 c
3-13085
Аноним
2003-05-19 01:08
2003.06.05
Заполнение с помощью триггеров


4-13516
Soft
2003-04-08 12:14
2003.06.05
Память занимаемая программой.


14-13457
Дремучий
2003-05-19 19:15
2003.06.05
Вставка картинок в T(rx)RichEdit


3-13080
edst
2003-05-15 16:59
2003.06.05
Как написать программу (Client/Server) для распределенного редакт


6-13354
Versus31
2003-04-06 09:47
2003.06.05
Печать в TWebBrowser.