0 / 0 / 0
Регистрация: 01.09.2009
Сообщений: 46
1

Помогите с Excel 9.0 Object Library и Oficce 97

22.07.2010, 12:01. Показов 2718. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые господа. Помогите разобраться !!!

Проект готов к установке на других комьютерах,но вот проблема !!!
Там где установлен MS Oficce 2000 нет никаких вопросов,
там где Oficce 97 возникает ошибка. На рабочей станции где
разрабатывлся проект установлен XPOficce 2000
Я использую в приложении из Referenceas:
Microsoft Excel 9.0 Object Library и Microsoft Word 9.0 Object Library для построения отчетов и Базы Данных.
Я понимаю, что загвоздка именно в этом, но поймите меня правильно,
не везде можно установить MS Oficce 2000 на клиенте...
Что можно предпринять ???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2010, 12:01
Ответы с готовыми решениями:

Написание программы с применением билиотеки microsoft excel 10.0 object library
Пишу программу с применением билиотеки microsoft excel 10.0 object library. Эта библиотека - файл...

Object library not registered
Добрый день!Возникла проблема при подключении Microsoft Windows Common Controls 2 6.0 sp 6...

Microsoft DAO 3.6 Object Library
Подскажите, пожалуйста, как на компьютере клиента корректно установить библиотеку dao360.dll...

Зависимость от Microsoft Excel Object Library
Всем привет! Помогите недостойному разобраться с Excel Вот я подключил библиотеку...

14
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 скопировал в Crogram FilesMicrosoft Office
OfficeExcel9.OLB ??? Не работает...
0
Comanche
22.07.2010, 15:37 4
Проблема стара как мир)
Не используйте РАННЕЕ связывание - т.е. не подключайте библиотеку через референсы. А используйте ПОЗДНЕЕ связывание, через CreateObject/GetObject. Единственное 'но': надо быть увереным, что вы используете VBA-функции, доступные под обеими версиями Экселя.

Пример раннего связывания:
Visual Basic
1
2
3
Dim MyExcel As Excel.Application
Set MyExcel = New Excel.Application
' ... и т.д.
Пример позднего связывания:
Visual Basic
1
2
3
Dim MyExcel As Object
Set MyExcel = CreateObject('Excel.Application')
' ... и т.д.
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)' !!!!

А вот текст в два варианта:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub Command1_Click()
Dim objExcel As Object
Dim ret As String, inp As String
Dim dt As String
 
'******Здесь без 'References '  как посоветовал Comanche!!!!
'----------------------------------
 
Set objExcel = CreateObject('Excel.Application')
objExcel.Workbooks.Add ('D:MSMDataBaseCadReportFile')
objExcel.Visible = True
Set objExcel = Nothing
End Sub
 
Private Sub Command2_Click()
Dim ret As String, inp As String
Dim objExcel As Excel.Application
Dim dt As String
'******Здесь использую 'References ' !!!!
'----------------------------------------
 
Set objExcel = New Excel.Application
objExcel.Workbooks.Add ('D:MSMDataBaseCadReportFile')
objExcel.Visible = True
Set objExcel = Nothing
 
End Sub
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2010, 16:27
Помогаю со студенческими работами здесь

Использование Microsoft Excel 9.0 Object Library (VB.NET)
При попытке добавить новый Worksheet (.Application.Worksheets.Add()) выдаётся сообщение об ошибке...

Документация по Microsoft Word object library
Добрый день! Где найти документацию библиотеки microsoft word object library с описанием синтаксиса...

VB.Net... подключение Microsoft Word 8.0/9.0 Object Library...
Для работы с ini файлами и реестром раньше использовал библиотеку Microsoft Word 8.0/9.0 Object...

Delphi Microsoft Speech Object Library пауза и стоп
Всем привет: знатоки помогите как правильно добавить паузу и стоп ??? Вдруг тексты будут очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru