На такой вопрос только разработчик надстройки сможет ответить. И ему понадобится от Вас: 1. Версия офиса 2. Версия ОС 3. Дополнительное ПО(установлена ли Fraemwork и какая, если её наличие обязательно)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Надстройка очень древняя - 1998г. А в Excel 2010 старые форматы файлов по умолчанию заблокированы. Обычно помогает, если в Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасностью - Параметры блокировки файлов - снять флажки, начиная с 'Книги Excel 4' по 'Файлы надстроек и листы макросов Excel 2' - дважды нажать OK. Но в данном случае этого недостаточно - требуется конвертирование в более современный формат.
Попробуйте использовать приложенный вариант, в котором я просто пересохранил кодом надстройку в формате Excel2003, не вскрывая её и не разбираясь, что там и как.
Рад, что помогло. Сделано так: 1. Загрузить в Excel 2003 или 2007 2. Нажать Alt-F11, чтобы войти в VBE 3. Нажать Ctrl-G, чтобы попасть в окно Immediate 4. Набрать: Workbooks("SUBST203.XLA").Save и нажать Enter Ну, и (необязательно) переименовать сохраненный файл. Никакого волшебства
ZVI, Если не сложно еще вопрос. Есть макрос для выгрузки данных из БД. На 2007 работает. Попросил поставить, говорят на 2010 не работает...надо переписывать. В ошибке что то продрайвер, но если запускать с 2007 то всё ок. Кто делал уволился, мои ITки переделывать не хотят( не умеют
Вы выложили книгу с паролем на код VBA, но пароль не сообщили. Согласно п 3.9 Правил здесь запрещено рассматривать вопросы, связанные со вскрытием паролей и защит. Очевидно, расчёт был на очередное "чудо" без вскрытия защиты типа предыдущего, но такое случается не часто Правильнее и надежнее все же связаться с разработчиком (Евгением Волковым) и заинтересовать его в оказании помощи.
Без вскрытия пароля совершенно точно можно утверждать, что: 1. На компьютерах с 64-битным Office 2010 код работать не будет, так как используется MSDASQL провайдер. 2. На компьютерах, где с Excel 2007 код работает, он будет работать и c Excel 2010 32-бит.
В связи с этим доп. инфо для Ваших IT-ников. Если данные хранятся в базе данных на SQL Server, то используется такая связка: Клиентское приложение (EXCEL.EXE) – Microsoft OLE DB Provider for ODBC Drivers (MSDASQL.DLL) – ODBC Driver Manager (ODBC32.DLL) – SQL Server ODBC Driver (SQLSRV32.DLL) – локальная сеть – SQL Server – база данных. Данные могут храниться и локально, например, в DBF формате, Вам там виднее, и правильнее было бы это также сообщить.
Но, судя по ошибке, код не находит базу данных. Скорее всего, это связано с тем, что на проблемных компьютерах источник данных не прописан в DSN-файле. Можно попробовать поискать на работающем компьютере файл с именем EvalarSeven.dsn в папке: C:\Program Files\Common Files\ODBC\ или в C:\Program Files (x86)\Common Files\ODBC\ или в скрытой папке: Мои документы\Мои источники данных\ и скопировать его в аналогичную папку проблемного компьютера.
ZVI, Спасибо попробую. У меня 2010 не работает. на 2007 не успел попробовать. Файл без пароля прикладываю на всякий... IT говорили что были проблемы после перехода с 03 на 07 офис (что то переписывал), поэтому с 10кой не хотят связываться (не умеют) ... а женя ушел.
. Насколько я понимаю, ошибка происходит на следующей строке кода: AdoConnection.Open StrConnection Желательно бы это уточнить, для чего: запустить код на версии книги без пароля, после вывода сообщения об ошибке выбрать Debug и посмотреть, какую строчку кода подсветит желтым фоном отладчик. И ещё, когда отыщите файл EvalarSeven.dsn (см. моё предыдущее сообщение), то откройте его в блокноте и проверьте записанный там путь к базе данных и другие параметры подключения к источнику данных.
Задачка, скорее для IT, чем по Excel. Общие вопросы: 1. Укажите полный путь, имя и тип базы данных 2. Есть ли доступ к C:\Program Files\Common Files\ или C:\Program Files (x86)\Common Files\ ? 3. Есть ли папка C:\Program Files\Common Files\ODBC\ или C:\Program Files\Common Files (x86)\ODBC\ ? 4. Есть ли скрытая папка Мои документы\Мои источники данных\ ? 5. Есть ли хоть один DSN файл в одной из этих папок на непроблемном компьютере? 6. Кто-то помнит, как решалась проблема перехода с 2003 на 2007? 7. В Excel на непроблемном компьютере на вкладке 'Данные' - 'Существующие подключения' есть ли источник EvalarSeven ?
Проверьте, есть ли в операционной системе DLL файлы, указанные мною ранее. Зарегистрируйте их еще раз.
1. Я не IT, пользователь БД 2.Есть к C:\Program Files\Common Files\ 3. нет C:\Program Files\Common Files\ODBC\ или C:\Program Files\Common Files (x86)\ODBC\ 4. Есть (скрин) 5 нет 6 нет 7 не знаю где посмотреть. Ок, буду пользоваться на машине с 2007... Огромное спасибо за потраченное время.
ZVI или кто-нибудь - спасайте! Проблема та же: Error in loading DLL прилагаю файл: Работы_Мастерская При запуске файла у меня активировалось и работало(!) Shortcut Под Windows 7 после переустановки Windows 7 пишет при открытии файла: Error in loading DLL мало того при попытке сохранить (и сохранить как) файл с внесенными изменениями пишет об ошибке сохранения, мало того пишет что попытка сохранения не удалась и при повторной попытке запуска того же файла Excel полностью зависает. Какой библиотеки ему не хватает? У меня параллельно открывается еще один файл с аналогичным меню! И Sub Workbook_Open И там все работает! Чтобы файл можно было открыть - сделал комментариями (тройными кавычками: ''' ) все что относится к Shortcut
в модуле файла Эта Книга в модуле Module1 и модуле листа 1 Карта ремонта
!!!!! Хотя и это не помогло. При запуске с Макросами все равно пишет Error in loading DLL
ОС: Windows 7 Pro SP1 MoverSoft Excel : Microsoft Office Excel 2007 (12.0.4518.1014) MSO (12.0.4518.1014)
РЕШЕНИЕ ПРОБЛЕМЫ: Проблему решил полностью поочередно скопировав все страницы и модули в новый файл. (ОДИН К ОДНОМУ ! ! !) В режиме: Отключить все макросы, кроме макросов с цифровой подписью. Работает без проблем. Кстати, новый файл получился легче где-то на 400 байт (Вирус?)