Использование Microsoft Word Object library на другой машине

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
uniq
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 18.01.2008 (Пт) 14:43

Использование Microsoft Word Object library на другой машине

Сообщение uniq » 18.01.2008 (Пт) 14:53

Здравствуйте!
Пишу прогу которая использует эту библиотеку. На своей машине стоит Office 2003.
Нужно чтоб работала и на других машинах.
Как быть если:
1) Office не стоит вообще, в таком случае как это грамотно определить
2) Office другой версии

Спасибо

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.01.2008 (Пт) 14:57

1. По ошибке.
2. Проверять Application.Version.
Lasciate ogni speranza, voi ch'entrate.

uniq
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 18.01.2008 (Пт) 14:43

Сообщение uniq » 18.01.2008 (Пт) 15:03

Спасибо большое

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 18.01.2008 (Пт) 15:04

2. Надыбать файлы *.OLB (EXCEL9.OLB, MSWORD9.OLB и т.п.) из 2000го офиса и юзать в референсах вместо того, что предлагается в списке. Программа, скомпилированная с *.olb, работает с версиями офиса >= 2000.
Лучший способ понять что-то самому — объяснить это другому.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Сообщение Денис » 18.01.2008 (Пт) 16:16

Antonariy
Класс! Запишем...
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 27.05.2008 (Вт) 17:02

Сейчас наверно кто-то скажет типа "посмотри на дату топика, писать в старых топиках не прилично", но всё же:

Antonariy

2. Надыбать файлы *.OLB (EXCEL9.OLB, MSWORD9.OLB и т.п.) из 2000го офиса и юзать в референсах вместо того, что предлагается в списке. Программа, скомпилированная с *.olb, работает с версиями офиса >= 2000.


Написал программу с использованием MSWORD9.OLB, сделал установочный пакет. Установочный пакет автоматом внёс MSWORD9.OLB и другие библиотеки(файлы) которые были задействованы.

НО!!!

При инсталяции данной программы на машине где стоит офис версии выше 2000, полученый в ходе использования программы файл *.doc отображается совсем по другому чем в 2000 версии офиса. Если быть точнее то там где должна быть таблица с записями появлются просто сортированые строки (без видимых границ таблицы), вставленная картинка полностью перекрывает текст(хотя должна быть после текста) и т.д.

Вопрос, как сделать чтобы использовался именно MSWORD9.OLB и возможно ли это?

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 27.05.2008 (Вт) 17:36

Помоему есть сервиспак для этой проблемы KB828041. (891kb)
Попробуй, хотя ставить его на каждой машине, наверное, будет влом.

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 27.05.2008 (Вт) 17:59

ok. посмотрим

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 27.05.2008 (Вт) 20:20

Это, видимо, проблема не интерфейса, а конкретного кривого дистрибутива офиса. И olb таскать в дистрибутиве не нужно, это тот же tlb.
Лучший способ понять что-то самому — объяснить это другому.

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 28.05.2008 (Ср) 1:17

Я специально проверял на 20-ти (подчёркиваю) машинах в разных отделениях нашей фирмы, не может быть чтобы у всех офис был кривой (кстати на двух машинах 2003 офис лицензия).

P.S. Кстати MSWORD9.OLB находится в 2000 офисе, а вот MSWORD.OLB в 2003и кажется в XP, интересно чем мелкомягкие руководствовались нумеруя(или ненумеруя) эти файлы

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.05.2008 (Ср) 9:11

Может в более поздних версиях изменились значения каких-то констант? Попробуй в самом ворде, в разных версиях, записать действия, в результате которых должен получиться нужный тебе результат, сравнить между собой и с твоим кодом.
Лучший способ понять что-то самому — объяснить это другому.

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 28.05.2008 (Ср) 12:43

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


Написал код для создания таблицы с использованием 2000 офиса, таблица на листе ворда получилась нормальная как и надо. :D

Написал тот-же код для создания таблицы с использованием 2003 офиса, таблица на листе ворда тоже нормальная как и надо. :D

Но при установке программы с использованием MSWORD9.OLB из установочного пакета на машину с 2003 офисом опять всё не так как надо. :evil:

P.S. KB828041 не помог. :evil:

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.05.2008 (Ср) 13:01

Значения констант сравнивал?
Лучший способ понять что-то самому — объяснить это другому.

homeworld
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 07.12.2006 (Чт) 13:17

Сообщение homeworld » 28.05.2008 (Ср) 14:05

Значения констант сравнивал?


С константами все нормально, они одинаковые, по краеней мере те которые я использовал.

Кстати в 2007 офисе таблица не видна вообще, только текст из неё, в 2003,XP таблица есть но только с невидимыми при печати границами.

Но главный вопрос как сделать чтобы использовался именно MSWORD9.OLB и возможно ли это. В установочном пакете он же есть, и при установке он ставится в папку с программой(я так понял автоматом регистрируется в системе потом) может проблема в том, что MSWORD9.OLB не регится? Или может как-то програмно грузить именно MSWORD9.OLB при загрузке программы?

У меня сейчас голова взорвётся :evil:
Вложения
mdlWORD.rar
Модуль(не весь) для работы с WORD.
(863 байт) Скачиваний: 128
Последний раз редактировалось homeworld 28.05.2008 (Ср) 16:15, всего редактировалось 1 раз.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 28.05.2008 (Ср) 14:44

Да не нужен для работы olb, только для компиляции, сколько повторять?
Дай код, у себя попробую.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

    TopList