Starik
Гость
|
|
« : 15-09-2003 09:42 » |
|
Привет всем! Ещё одна проблема, программа не на всех компах работает, ругается "Can't find project or library". Почему не находит проект или библиотеку? Какую библиотеку? У меня стоит операционка ХР и W98, программу на VBA писал в XP, у меня работает везде. У других стоит операционка W98-не работает. Уточняю-программа работает, но когда хочешь изменить данные, на форме нажимаешь бутон, тогда выдаётся сообщение: "Can't find project or library".
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #1 : 15-09-2003 09:52 » |
|
Варианты решения 1. Ты не переносишь саму библиотеку на новый комп.
Ответ - при переносе программы на компы где такая библиотека (как mfc ) уже включена в ОС, там работает - соответственно не работает гдеее нет.
2. Ты переносишь библиотеку но кладешь не туда...
Проверь пути в win98 где должны лежать библиотеки - т.е. пути стандартного поиска. Обычно Windows/system или Windows/system32 Плюс корневая к программе папка (без включения под папок в ней).
3. Возможно библиотека требует регистрации (пример СОМ - библиотеки) Необходимо не просто переносить но и регисрировать (инсталлировать) библиотеку
Выход - использовать InstallShield идущий в поставке с VS.
Если ни одна причина не подойдет - пиши - будем думать дальше.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Starik
Гость
|
|
« Ответ #2 : 15-09-2003 10:07 » |
|
Я ничего не переношу, сбросил программу в сеть, запускаю с другого компа, все работает до момента изменения информации на форме. Как я понял мне необходимо на каждый комп перенести библиотеку. (Извини за глупый вопрос-какую? VBA я плохо знаю, можно сказать не знаю, если что-то и писал то для себя, поэтому таких проблем не было. Писал всегда на VB.).
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #3 : 15-09-2003 10:13 » |
|
Я его вообще не знаю... При сетевом запуске таковго быть не должно - вопрос: 1. Что пишет ошибка при отладке - имя библиотеки обязана указать. 2. Какой код вернее вызов какой функции выдает такую ошибку. :?:
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #4 : 15-09-2003 10:38 » |
|
А что под кнопкой?
Там навернякак какой то код и ползуется какая-нибудь либа (скорее ADODB ), так вот она на пользовательских машинах и не стоит. Нужно выяснить на какую либу ругается (их не так много ) и либо доставить клиентам либо явно прописать в проекте где на серваке лежат эти либы.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Starik
Гость
|
|
« Ответ #5 : 15-09-2003 10:40 » |
|
При отладке пишет "Can't find project or library", засвечивается: Str$(5) в строке: Sheets(...).Range("c"+LTrim$(Str(5)))=......
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #6 : 15-09-2003 10:54 » |
|
1)А всю строку можно? 2)А отдельно приведенные функции VB например такой код. Dim s as string s='c'+Ltrim$(str(5))
Это видимо связано с версиями Офиса стоящими у клиентов посмотри какой офис стоит у тех у кого не работает и сравни с .
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Starik
Гость
|
|
« Ответ #7 : 15-09-2003 11:08 » |
|
Я тоже так подумал, что связано с версиями офиса вот почему: на одной машине стоит ОС W98, а офис XP - там работает. На другой ОС W98, а офис другой, кажется 2000, там не работает. Если это так, тогда что делать? А вся строка стандартная Sheets(...).Range("c"+LTrim$(Str(5)))= откуда считывается(форма, TexBox и т.д.). Если надо, могу написать.
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #8 : 15-09-2003 11:14 » |
|
Тогда все ясно, раставляй всем единообразный офис.
Строку просил чтоб понять какие библиотеки в ней используются.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Starik
Гость
|
|
« Ответ #9 : 15-09-2003 11:39 » |
|
А другого выхода нет? У нас машин много, у кого офис 97, у кого-2000, у единиц-ХР. А если я перепишу всё в 2000 офисе, тогда ХР и 2000 будет работать, а в 97-нет? Да проблема!
|
|
|
Записан
|
|
|
|
Starik
Гость
|
|
« Ответ #10 : 15-09-2003 12:48 » |
|
Строка: Sheets("2006g").Range("c" + LTrim$(Str$(5))) =Редактор.TextBox1.Text Высвечивает Str$(5). Пробовал переустановить на обной машине офис - результат отрицательный. Может все таки в офисе 2000 нет библиотеки, которая есть в ХР офисе? Тогда какая? Я плохо в этом разбираюсь.
|
|
|
Записан
|
|
|
|
Pu
Большой босс
Offline
78
|
|
« Ответ #11 : 15-09-2003 13:32 » |
|
воспользуйся адд-ином Package and Deployment Wizard. он тебе выдаст все библиотеки используемые в проекте. Можеш все упаковать в инсталяшку и с сервака все инсталить. С ВБ я всегда так делаю Хотя это относится к VB а прочитал сейчас что у тебя VBA(c ним я дела не имел )
|
|
|
Записан
|
Насколько я опытен? Достаточно, чтобы понимать, что дураков нельзя заставить думать по–другому, но недостаточно, чтобы отказаться от попыток это сделать. (с) Артур Джонс
|
|
|
baldr
|
|
« Ответ #12 : 15-09-2003 15:09 » |
|
Я сталкивался с такими же трудностями. В результате сделал две версии макроса - для XP и 2000 офисов. У меня была проблема с MS Office Object Library, кажется - в каждом из офисов у него своя версия. Точно так же и с библиотеками для связки Excel-Word-Outlook. Каждая имеет свою версию, в результате приходится вручную указывать ее на компе с другой версией. Открой Tools-References. Там ты увидишь какие у тебя библиотеки требуются и где расположены.
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
little
|
|
« Ответ #13 : 15-09-2003 15:40 » |
|
baldr сказал правильно.
Похоже, тебе на каждом компе придется залезать в редактор, там идти в пункт Tools -> References и подключать библиотеку Microsoft Office xx Library.
Либо делать инсталяшку.
|
|
|
Записан
|
|
|
|
baldr
|
|
« Ответ #14 : 15-09-2003 15:48 » |
|
Нет, не обязательно на каждом компе. Я же говорю - можно сделать две версии - для OXP и O2k ... И их просто переносить на каждый комп... Можно, конечно, заменить конфликтующие библиотеки более новыми, но, я думаю, мы все понимаем чем это грозит...
|
|
|
Записан
|
Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
|
|
|
Starik
Гость
|
|
« Ответ #15 : 16-09-2003 10:37 » |
|
Спасибо за помощь. Пришлось всё переносить. Заработало.
|
|
|
Записан
|
|
|
|
|