Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как связать две библиотеки Ecxel 2000 и 2002 в проекте VB / 6 сообщений из 6, страница 1 из 1
26.11.2004, 08:51:54
    #32800723
Юрик#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
Здраствуйте!
Искал ответ в разных форумах,ничего похожего не нашел
Не могу решить задачу:
у заказчиков стоят офисы 2000 и 2002, написал прогу которая
формирует отчет в excel2002 из vb, в офисе 2000 отчет не формируется,
пытался установить 2-е версии офиса чтоб подключить ecxel в vb через Available Referrnces, но в ней отображается только та версия библиотеки, офис которой был установленн последним.
подскажите что сделать чтоб отчет печатался в разных версиях ecxel.
Заранее спасибо
...
Рейтинг: 0 / 0
26.11.2004, 10:22:41
    #32800883
Paksly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
Не используй раннее связывание с библиотеками Excel. Если функционал протестирован и работает корректно, работай через CreateObject. Это позволит делать отчеты в любой версии Excel, если, конечно, не используется специфические функции.
...
Рейтинг: 0 / 0
26.11.2004, 10:23:38
    #32800889
Dats
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
Юрик#у заказчиков стоят офисы 2000 и 2002, написал прогу которая
формирует отчет в excel2002 из vb, в офисе 2000 отчет не формируется,
пытался установить 2-е версии офиса чтоб подключить ecxel в vb через Available Referrnces, но в ней отображается только та версия библиотеки, офис которой был установленн последним.
подскажите что сделать чтоб отчет печатался в разных версиях ecxel.
Заранее спасибо

Проблема скорее всего заключается не в разных версиях библиотек для офиса. А в коде твоей программы. Я несколько раз сталкивался с подобными проблемами. Местами код под 97 оф. не работает в 2000. Проблема решается отладкой и трассировкой мест вывода. Т.е. если что-то где-то выводится в листы, то скорее всего смотреть надо туда.
...
Рейтинг: 0 / 0
26.11.2004, 10:48:23
    #32800944
Юрик#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
PakslyНе используй раннее связывание с библиотеками Excel. Если функционал протестирован и работает корректно, работай через CreateObject. Это позволит делать отчеты в любой версии Excel, если, конечно, не используется специфические функции.

вот фрагмент кода : отчет рабочий

Public Sub ToExcel(inDate)
Set AppE = CreateObject("Excel.Application")
Set WB = AppE.Workbooks.Open(App.Path & "\Tamplates\Ved.xls")
Set WS = WB.ActiveSheet
AppE.Visible = False
LR = 10
GetReport (inDate)
SaveWB
End Sub
весь отчет я создал по примерам из одной книги, посмотрите мож гдето я всеж допустил ошибку...
...
Рейтинг: 0 / 0
26.11.2004, 11:04:34
    #32800981
Юрик#
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
Dats Проблема скорее всего заключается не в разных версиях библиотек для офиса. А в коде твоей программы. Я несколько раз сталкивался с подобными проблемами. Местами код под 97 оф. не работает в 2000. Проблема решается отладкой и трассировкой мест вывода. Т.е. если что-то где-то выводится в листы, то скорее всего смотреть надо туда.

Вполне может быть, но как отследить ошибку, если к программе подключаешь библиотеку екселя 2000 и все работает?
...
Рейтинг: 0 / 0
26.11.2004, 17:33:26
    #32802013
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как связать две библиотеки Ecxel 2000 и 2002 в проекте VB
Юрик
вот фрагмент кода : отчет рабочий

Public Sub ToExcel(inDate)
Set AppE = CreateObject("Excel.Application")
Set WB = AppE.Workbooks.Open(App.Path & "\Tamplates\Ved.xls")
Set WS = WB.ActiveSheet
AppE.Visible = False
LR = 10
GetReport (inDate)
Save WB
End Sub
весь отчет я создал по примерам из одной книги, посмотрите мож гдето я всеж допустил ошибку...Если фрагмент работающий, то, во-первых, включи Option Explicit - это избавит от очепяток.
Во-вторых, вызов GetReport без передачи указателя WB или WS предполагает косвенное обращение к активному листу, что в процессе работы м.б. нарушено.
И, в-третьих, примеры в книгах также упрощены. Покопай этот код...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как связать две библиотеки Ecxel 2000 и 2002 в проекте VB / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]