Распространение приложения VB
От: Зиныч  
Дата: 15.02.05 20:56
Оценка:
Здравствуйте!

Нужна помощь в решении некоторой проблемки, подскажите пожалуйста.

Есть приложение,в котором имеется ссылка (reference) на Microsoft Excel Object Library (Excel9.olb) — программно открывается файл *.xls, происходит редактирование каких-то ячеек и файл сохраняется, так вот,
в каком виде лучше распространять этот файл со скомпилированным файлом проекта (с ехе-шником), на машины, на которых Excel вообще может быть не установлен.

Пробовал делать инсталляшку с Package&Deployment Wizard, но после запуска программы и попытки открыть файл *.xls выдавалась ошибка:


>Run-time error: '429'


>Active Component can't create an object


Спасибо.
Re: Распространение приложения VB
От: hermit. Россия  
Дата: 16.02.05 07:55
Оценка:
Здравствуйте, Зиныч, Вы писали:

З>Пробовал делать инсталляшку с Package&Deployment Wizard, но после запуска программы и попытки открыть файл *.xls выдавалась ошибка:



>>Run-time error: '429'


>>Active Component can't create an object


К сожалению Excel должен быть установлен, а чтобы не привязываться к версии, желательно использовать позднее связывание через CreateObject, это немного тормознее, но всетаки Version Independent. Просто Excel это OutProc server и таскание одной библиотеки проблему не решит.
... << RSDN@Home 1.1.3 stable >>
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re: Распространение приложения VB
От: nzeemin Россия http://nzeemin.livejournal.com/
Дата: 16.02.05 10:35
Оценка:
Здравствуйте, Зиныч, Вы писали:

З>Есть приложение,в котором имеется ссылка (reference) на Microsoft Excel Object Library (Excel9.olb) — программно открывается файл *.xls, происходит редактирование каких-то ячеек и файл сохраняется, так вот,

З>в каком виде лучше распространять этот файл со скомпилированным файлом проекта (с ехе-шником), на машины, на которых Excel вообще может быть не установлен.

Перейти на позднее связывание с библиотеками Excel'я — создание объекта через CreateObject, а не через New — это позволит отвязаться от конкретной версии Excel'я и установить приложение на любой машине. Но CreateObject для Excel'евского объекта, конечно же, будет работать только если на машине стоит Excel.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.