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

Вниз

Использование Excel из Delphi   Найти похожие ветки 

 
Dmitry111   (2003-06-09 13:45) [0]

Добрый день всем!

Я столкнулся с такой проблемой: у меня на компе установлен офис XP и 97.
Я из своей проги делаю:

Var
Excel: Variant;

begin
...
Excel := CreateOleObject("Excel.Application.8");
...
end;
Хочу работать с 97 Excel"ем но создается все равно Excel XP...

пробовал и Excel := CreateOleObject("Excel.Application"); - результат тот-же...

Как быть?


 
AbrosimovA   (2003-06-09 13:57) [1]

А как ты определяешь, что создан файл Excel XP?


 
Dmitry111   (2003-06-09 14:25) [2]

ну, например, показываю приложение:
...
Excel.visible:=true;
...


 
DrPass ©   (2003-06-09 14:26) [3]

Скорее всего, никак - если ты ставил ХР после 97, то он поменял пути к СОМ-объектам в реестре на свои библиотеки


 
Dmitry111   (2003-06-09 14:28) [4]

Да я готов поставит их в любой последовательности... Проблема в том, что у них (XP и 97) одинаковый GUID...


 
AbrosimovA   (2003-06-09 14:35) [5]

А для чего ставить две версии офиса?


 
DrPass ©   (2003-06-09 14:43) [6]

Поставь сначала ХР, потом 97. По Excel.Application будешь вызывать 97, по Excel.Application.10 - Excel 2002, ведь девяносто седьмая не сможет переписать эту запись. А можно и ручками путь подправить в реестре в ключе LocalServer32 на нужную Экселину. Хотя и правда, первое, что приходит в голову - "нафиг два офиса?"


 
Dmitry111   (2003-06-09 14:44) [7]

есть куча макросов, написанных в 97 офисе, а по ХР они работают некорректно... т.к. макросы большие и искать в них все "несовместимости" очень тяжело, то проще всегда использовать 97 офис...


 
Dmitry111   (2003-06-09 14:46) [8]

А где этот самый параметр LocalServer32? и как его изменение повлияет на остальную работу, например, открытие файла в обычном порядке?


 
AbrosimovA   (2003-06-09 15:25) [9]

Попробуй сменить ассоциацию для файлов Excel.
Это делается следующим образом:

Держишь палец на клавише Shift и одновременно жмешь правую кнопку мыши при наведении курсора на любом файле, например, с расширением xls. Во всплывающем меню находишь строку "Открыть с помощью" и давишь на неё. После этого можно Shift отпустить.
Увидишь окошко со списком программ, там находишь кнопку "другая...", после нажатия на которую выскакивает, наверное, известный тебе из Дельфей OpenDialog. Ищешь в нем екзешник соответствующего Excel97 и открываешь его. Тебя возвращает опять к окну со списком программ. Ставишь галочку "Всегда использовать выбранную программу" и наконец жмёшь "OK". После этого XLS-файлы должны открываться в нужной версии Excel.


 
KSergey ©   (2003-06-09 15:31) [10]

> AbrosimovA (09.06.03 15:25)

Это никак не изменит связь с COM-объектом


 
Dmitry111   (2003-06-09 16:37) [11]

Да, KSergey совершенно прав...


 
DrPass ©   (2003-06-09 17:17) [12]

В реестре в секции HKCR\CLSID прописаны все сервера. Ищешь ключ, у которого подключ ProgID содержит Excel.Application.8, и рядом там должен быть подключ LocalServer32 - ссылка на прогу, которая этот объект реализует.


 
Dmitry111   (2003-06-09 19:53) [13]

а как это изменение повлияет на обычную работу с Excel"ем?



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

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

Наверх




Память: 0.49 MB
Время: 0.045 c
3-83948
me2
2003-06-04 12:35
2003.06.26
Удаление записи из набора данных


3-84019
Alexei Sviridov
2003-05-30 22:41
2003.06.26
Poisk zapisi v Interbase table


3-83973
Rustik
2003-05-29 17:49
2003.06.26
При конвертации из DOS в WIN превые буквы забиваются решеткой


3-83949
DBDev
2003-06-04 13:07
2003.06.26
Как подключить БД (Attach Database) программно и из инсталлятора?


14-84577
Sam
2003-06-07 19:35
2003.06.26
Hosting for Delphi