Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi+Word, Определить из Delphi характеристики Word 
:(
    Опции темы
VictorBondarenko
Дата 24.6.2005, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет



Уважаемые друзья!

У меня возникла такая проблема. Как определить из программы на Дельфи:
1. Версию установленного на компе Ворда.
2. Подключена ли в Ворде возможность работы с макросами на Visual-Basic.

Заранее благодарен за любые идеи, т.к. пока мне не понятно как вообще
подступиться к этой проблеме.

С уважением и благодарностью за внимание и помощь,
Виктор


PM MAIL   Вверх
_hunter
Дата 24.6.2005, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 2
Всего: 98



1 -- смотри HKEY_CLASSES_ROOT\Word.Application\CurVer



--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Poseidon
Дата 24.6.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: нет
Всего: 133



Цитата(VictorBondarenko @ 24.6.2005, 14:48)
1. Версию установленного на компе Ворда.
http://vingrad.ru/DELPHI-DLP-001400



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
VictorBondarenko
Дата 27.6.2005, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет




Уважаемый Poseidon !

Твой совет
http://vingrad.ru/DELPHI-DLP-001400

я посмотрел и реализовал для просмотра
версии установленного на компе Ворда.
Однако под версией там понимается язык версии и прога мне выдает слово "Русский", а нужно версия в смысле

Word 97, Word 2000, Word 2003.

Если у кого-то есть какие-либо идеи на этот счет, то заранее благодарен за внимание и помощь.
Виктор

PM MAIL   Вверх
Kesh
Дата 27.6.2005, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: нет
Всего: 54



Как уже говорил _hunter
Цитата
HKEY_CLASSES_ROOT\Word.Application\CurVer

11 - Word 2003
10 - Word XP
9 - Word 2000 и т.д.



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Albinos_x
Дата 27.6.2005, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Код
...
var ver:integer;
...
ver:=(strtoint(copy(WordApplication1.version, 0, pos('.',wordapplication1.version)-1)));
case ver of
  8  : // word97;
  9  : // word2000;
  10: // Word XP;
  11: // Word 2003;
 end;
...


Это сообщение отредактировал(а) Albinos_x - 27.6.2005, 11:16


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Kesh
Дата 27.6.2005, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: нет
Всего: 54



Albinos_x Да ну... Зачем туда еще и WordApplication кидать? Можно чисто реестром обойтись... Все равно он оттуда его и возьмет... (и то не факт...)


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
VictorBondarenko
Дата 27.6.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет



Kesh, большое спасибо, я видел эти 11, 9, но
как связать эти цифры с версией не знал.


Можно ли аналогично проверить возможность работы
с Visual-Basic в Word'е ? Если в реестре есть ключ Word.Basic , то
означает ли это, что Visual-Basic подключен и в Word'е можно работать с макросами на Visual-Basic?
И вот таким кодом можно выявить подключен ли Visual-Basic к Word'у

Код

 uses 
 ..., Registry; 

function IsMSWordBasicInst: Boolean; 
var 
 Reg: TRegistry; 
 S: string; 
begin 
 Reg := TRegistry.Create; 
 with Reg do 
 begin 
   RootKey := HKEY_CLASSES_ROOT; 
   Result := KeyExists('Word.Basic'); 
   Free; 
 end; 
end; 

Но я попробовал деинсталлировать у себя в Word'е Visual-Basic но , ключ
Word.Basic в реестре как был, так и остался. Может у него смысл какой-то другой?

Может кто чего подскажет?
Виктор

Это сообщение отредактировал(а) Girder - 27.6.2005, 12:00
PM MAIL   Вверх
Albinos_x
Дата 27.6.2005, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата
Albinos_x Да ну... Зачем туда еще и WordApplication кидать? Можно чисто реестром обойтись...


Это всего лишь пример... я предположил, что необходимо от версии ворда реализовывать, те или иные возможности, не поддерживаемые в младших версиях.

Цитата
Но я попробовал деинсталлировать у себя в Word'е Visual-Basic но , ключ
Word.Basic в реестре как был, так и остался. Может у него смысл какой-то другой?


Поробуй весь ворд деинсталировать, увидишь, что половина ключей в реестре останется...
Думаю, надо проверять в реестре раздел, который указывает на комплект установки

Это сообщение отредактировал(а) Albinos_x - 27.6.2005, 12:10


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
VictorBondarenko
Дата 27.6.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет




Albinos_x, ты написал:
Думаю, надо проверять в реестре раздел, который указывает на комплект установки.

А более точно, что это за раздел, потому, что я переблал вроде бы все разделы реестра, но ничего подходящего не заметил.
PM MAIL   Вверх
Albinos_x
Дата 27.6.2005, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата
А более точно, что это за раздел, потому, что я переблал вроде бы все разделы реестра, но ничего подходящего не заметил.

что-то нашёл, но пока разбираюсь как это использовать...
Добавлено @ 13:43
можно попробовать, не знаю как при деинсталяции будет этот параметр или нет

hkey_lokal_machine\software\microsoft\windows\cuttentversion\installer\folders


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
VictorBondarenko
Дата 27.6.2005, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет



Спасибо, Albinos_x,
но в
hkey_lokal_machine\software\microsoft\windows\cuttentversion\installer\folders

что-то ничего не видно, что бы указывало на установку Visual-Basic в Worde'е.

Я тоже попробую "покрутить" этот раздел.
PM MAIL   Вверх
Albinos_x
Дата 27.6.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



там указана папка где установлен VB, можно проверять есть такая или нет и так узнать установлен ли Visual-Basic, ну и отсюда следует если он установлен, то с ним ворд работает. заколебался по всему реестру лазить, кое-что нашёл, но там в параметрах либо набор цифр либо строка иероглифов, как это использовать не нашёл, поэтому могу предложить только этот вариант.
Ну ещё можнопроверять dll-ку Visual-Basic её адрес можно найти в разделе:
hkey_local_machine\software\microsoft\vba

По идее он где-то ещё должен оставлять информацию об установленой комплектации, но где - пока не нашёл...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
VictorBondarenko
Дата 1.7.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 14.2.2005

Репутация: нет
Всего: нет




Я подумал:
"Как проверить установлен ли Visual-Basic в Word'е". Да просто запустить какой-либо работающий проверенный макрос. Если он сработает VBA установлен, а если нет - то нет.
Для этого я написал такой код

procedure TForm1.Button4Click(Sender: TObject);
var
Word:variant;
begin
Word:= CreateOleObject('Word.Application');
Word.Application.Visible:=true;
Word.Documents.Open('E:\Version\t2.doc' );
try
Word.Application.Run( 'A' );
except
on EOleException do showmessage( ' Visual-Basic не подключен');
end;
end;

Этот код работает. Макрос запускаестя.
Но возникла такая проблема. Я для проверки работы обработчика прерываний дал имя несуществующего макроса.
Моя обработка прерывания EOleException не срабатывает и работа на
on EOleException do ... не выходит.
Работает какой-то системный обработчик.
Может, что-то не так написал.

Заранее благодарен за любую подсказку.
Виктор


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0548 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.