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

Вниз

Использование 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.029 c
14-84732
Rafik
2003-06-03 14:09
2003.06.26
Матрица - разочорование


14-84675
S.G.K.
2003-06-10 18:16
2003.06.26
Real-Time


14-84641
Jack128
2003-06-10 09:51
2003.06.26
Проблемы с винтом


7-84768
boldr
2003-04-17 01:36
2003.06.26
работа с портами


6-84497
Мыш
2003-04-22 02:03
2003.06.26
вопрос по indy client-server





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский