Главная страница
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.014 c
3-13049
gedd
2003-05-16 18:48
2003.06.05
Как прописать LangDriver для DBase


11-13109
Gandalf
2002-09-15 13:54
2003.06.05
Кол в сердце… своей программы!


14-13380
Дмитрий К.К.
2003-05-21 06:45
2003.06.05
Именинники 21 мая


3-13084
DruKiller
2003-05-17 21:58
2003.06.05
Скрещивание Delphi и MySQL


14-13462
Basic
2003-05-20 12:09
2003.06.05
Я что на спам нарвался?