Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Еще раз об 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
14-13397
Johnmen
2003-05-17 23:49
2003.06.05
О свободе в широком смысле...


1-13138
Intell
2003-05-25 22:13
2003.06.05
Как осуществить чтение из ресурса?


6-13358
JibSkeart
2003-03-28 18:49
2003.06.05
Глюк или как с Socket-ом ?


14-13421
Spartak
2003-05-19 07:50
2003.06.05
Проблема с написанием сервиса


14-13376
Doom
2003-05-19 23:43
2003.06.05
Диаметр окружности, вписанной в многоугольник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский