Перенос VB c Excel на другую машину

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

Перенос VB c Excel на другую машину

Сообщение Sergey190 » 19.04.2004 (Пн) 22:14

Когда я переношу работающую программу с MSExcel Object Library 10 reference на машину, где MSOffice2000 и эта библиотека 9 версии, то программа перестает работать. Приходится заново перетранслировать на той машине, только переотметив references. Думаю, что на Office97 придется делать это по третьему разу.
можно ли сделать это как-то только на первой машине, чтобы работало на более старых оффисах?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 20.04.2004 (Вт) 9:24

Ага.

Надо просто не подключать никаких библиотек, все вызовы типа
Код: Выделить всё
Dim xl as New Excel.Application
поменять на конструкцию типа
Код: Выделить всё
dim xl as object
set xl = createobject("Excel.Application")
и все.

Sergey190
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 16.04.2004 (Пт) 20:11
Откуда: SPb Ru

Сообщение Sergey190 » 20.04.2004 (Вт) 13:06

Спасибо, но если я ставлю
DIM xl ...
SET xl ...

General Declarations формы и отключаю в References ссылку на MS Excel Object Library 10, то при запуске сразу выскакивает

Compile error: Invalid outside procedure и указывает на оператор
SET xl ...

Может что-то другое подключить надо? Откуда пр-ма узнает, что такое Excel.Application?

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 20.04.2004 (Вт) 15:07

Учите матчасть.

Set нельзя указывать в одном блоке с Dim естесвенно. Это надо делать уже дальше в коде.

Короче, смотрим друэжно применяемость Set и для чего он вообще.

Sergey190
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 16.04.2004 (Пт) 20:11
Откуда: SPb Ru

Сообщение Sergey190 » 03.05.2004 (Пн) 21:47

Да, спасибо, с Set я оплошал.

Но все же этот способ имеет, видимо, ограниченное применение.
У меня после замены по этому рецепту и отключения ссылки на MS Excel Object Library 10 программа перестала работать, т.к. в ней используется метод
wbook.SaveAs FileName:=...,FileFormat:=xlDBF4, CreateBackup:=False
сохранения в DBF-файл
и он не отрабатывается, дает ошибку, которой не было раньше.
Если бы я этого не применял, то прошло бы.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.05.2004 (Вт) 5:34

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

Sergey190
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 16.04.2004 (Пт) 20:11
Откуда: SPb Ru

Сообщение Sergey190 » 05.05.2004 (Ср) 11:28

GSerg писал(а):А ты и от именованных параметров откажись. По порядку их.


Извините, не понял фразу совсем. Какие параметры в моей неисполняющейся строке считать именоваными? Что располагать по порядку?Параметры Filename, Fileformat,CreateBackup перечислены в том порядке, какой в хелпе по Excel

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 05.05.2004 (Ср) 12:28

wbook.SaveAs "c:\1.dbf", xlDBF4, False

Аааа :)
Так константу xlDBF4 теперь VB не знает :) Цифирью её! Или объявляй через const.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


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

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

Сейчас этот форум просматривают: С.Т., Google-бот, PetalBot и гости: 1

    TopList