0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
1 | |
Помогите с Excel 9.0 Object Library и Oficce 9722.07.2010, 12:01. Показов 2591. Ответов 14
Метки нет Все метки)
(
Уважаемые господа. Помогите разобраться !!!
Проект готов к установке на других комьютерах,но вот проблема !!! Там где установлен MS Oficce 2000 нет никаких вопросов, там где Oficce 97 возникает ошибка. На рабочей станции где разрабатывлся проект установлен XPOficce 2000 Я использую в приложении из Referenceas: Microsoft Excel 9.0 Object Library и Microsoft Word 9.0 Object Library для построения отчетов и Базы Данных. Я понимаю, что загвоздка именно в этом, но поймите меня правильно, не везде можно установить MS Oficce 2000 на клиенте... Что можно предпринять ???
0
|
|
22.07.2010, 12:01 | |
Ответы с готовыми решениями:
14
Написание программы с применением билиотеки microsoft excel 10.0 object library
Microsoft DAO 3.6 Object Library
|
0 / 0 / 0
Регистрация: 22.07.2010
Сообщений: 19
|
|
22.07.2010, 13:20 | 2 |
Следует узнать в каких файлах храняться указанные библиотеки и по какому адрусу. Найти эти файлы на новой машине. При совпадении имени просто записать поверх старых, при разных именах добавить ноые файлы и прописать их в реестре.
В VB6 есть функция создания установочного файла, кот. соберет все необхадимы для работы файлы и заархивирует их, а при распаковке установит их куда следует.
0
|
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
22.07.2010, 14:56 [ТС] | 3 |
Setup.exe был создан при помощи 'Setup Factory 5.0'
Файл Excel9.OLB скопировал в C ![]() OfficeExcel9.OLB ??? Не работает...
0
|
Comanche
|
|||||||||||
22.07.2010, 15:37 | 4 | ||||||||||
Проблема стара как мир
![]() Не используйте РАННЕЕ связывание - т.е. не подключайте библиотеку через референсы. А используйте ПОЗДНЕЕ связывание, через CreateObject/GetObject. Единственное 'но': надо быть увереным, что вы используете VBA-функции, доступные под обеими версиями Экселя. Пример раннего связывания:
|
0 / 0 / 0
Регистрация: 22.07.2010
Сообщений: 19
|
|
25.07.2010, 08:32 | 5 |
С Setup Factory 5.0 езнаком. Использую стандартный инструмент Package&Deplomyment Wizard, в кот. можно указать какие файлы следует упаковывать. Просто переписать файл не достаточно, надо его еще прописать в реестре.
Какое сообщение появляется после запуска программы? Вышли мне свой проект.
0
|
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
||||||
25.07.2010, 10:32 [ТС] | 6 | |||||
Выдает сообщение такокго рода:
Run-time error '2147023067(80070725)' !!!! А вот текст в два варианта:
0
|
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
25.07.2010, 11:53 [ТС] | 7 |
Я извиняюсь, не полностью прислал ошибку
Run-time error '2147023067(80070725)' Automation error !!!
0
|
Comanche
|
|
25.07.2010, 12:44 | 8 |
Объектные библиотеки приложений MS Office НЕЛЬЗЯ распространять в составе своего дистрибутива!!!!! Представьте, что вы копируете вашу Excel9.OLB на комп со старым Экселем, в котором нет части функций (объектов, типов данных), описанных в этом OLB-файле!
Если вы хотите, чтобы ваше приложение работало с ОБЕИМИ версиями Экселя (и со старой, и с новой), то соблюдайте три правила: 1. В коде гарантируйте 'backward compatibility' - т.е. не используйте функций (объектов, типов данных), недоступных в старой версии Экселя. 2. Используйте ПОЗДНЕЕ связывание. 3. НЕ РАСПРОСТРАНЯЙТЕ OLB-файл со своим дистрибутивом! Ничего страшного не случится (за счёт 'девятки' в своём имени он НЕ перезапишет существующую библиотеку старого Экселя, слава богу), но это просто лишено какого-либо смысла!!! |
Comanche
|
|
25.07.2010, 12:54 | 9 |
Ещё одно замечание:
Перед строкой 'Set objExcel = Nothing' обязательно (!!!) поставьте строку 'objExcel.Quit' (или 'objExcel.Application.Quit' - точно не помню). Иначе есть вероятность, что Эксель останется болтаться в памяти. То же касается и Ворда, разумеется. Более того, вызов Quit на 'грязном' файле выдаст, естественно, запрос на сохранение изменений. Так что перед Quit'ом лучше написать что-то вроде 'ActiveWorkbook.Close SaveChanges:=True' (ну или '...:=False' - вам видней). |
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
26.07.2010, 12:23 [ТС] | 10 |
Я прошу извинение, но ошибка видимо в другом.
Установил на машине с Win 98 Oficce 2000, но ошибка таже: Run-time error '2147023067' (80070725) Automation error. В чем же моя ошибка ??? Может из-за того что разработка приложение велась на XP машине... Может кто-то столкнулся с этим ???
0
|
Comanche
|
|
26.07.2010, 12:37 | 11 |
'Установил на машине с Win 98 Oficce 2000' - опиши подробнее саму установку, в частности - какие файлы ты распространяешь в составе своего дистрибутива, регистрируешь ли их и т.д.
|
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
26.07.2010, 14:04 [ТС] | 12 |
И так по порядку:
Инсталяционный пакет подготавливаю при помощи 'Setup Factory 5.0' т.к. Wizard из VB почему-то постоянно выдает ошибки. Кроме file.exe, file.frm, file.frx в пакет входят следующие компоненты: msmole32.dll - компонент связи с БД(поставляется поставщиком) MSSTDFMT.DLL VSFLEX7L.OCX TABCTL32.OCX MSCOMCT2.OCX MSCOMCTL.OCX MSCAL.OCX comdlg32.ocx MSVBVM60.dll OleAut32.dll OlePro32.dll AsycFilt.dll StdOle2.tlb ComCat.dll Создал пакет при помощи Inno Setup 4 проблема не снимается !!!
0
|
Comanche
|
|
26.07.2010, 16:23 | 13 |
Выкинь последние 5 файлов.
|
Comanche
|
|
26.07.2010, 16:26 | 14 |
И со всех DLL/OCX файлов сними флажок 'ignoreversion' в скрипте Inno Setup.
|
0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
|
|
27.07.2010, 16:27 [ТС] | 15 |
Всем спасибо, но как говорят самое лучшие
средства от перхоти это гюлетина !!! Ничего не помогло.Пришлось устанивить Win2k на клиенте... Жаль что вопрос остался висеть для Win 98, но я думаю что с ним я разберусь попозже, сроки поджимают !!!
0
|
27.07.2010, 16:27 | |
Помогаю со студенческими работами здесь
15
Использование Microsoft Excel 9.0 Object Library (VB.NET) Документация по Microsoft Word object library VB.Net... подключение Microsoft Word 8.0/9.0 Object Library... Delphi Microsoft Speech Object Library пауза и стоп Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |