Error in loading dll excel как исправить
Заранее прошу меня простить за возможно неграмотное изложение, ибо я не профессионал в работе с excel, а лишь любитель, которому приходится много с ним работать….
Столкнулся с такой проблемой. Сменил комп с 32-битной разрядной системой на другой с 64-битной. Скопировал на него нужный мне файл excel c макросом, использующий динамическую библиотеку dll. Сначала возникла проблема совместимости 64-битной системы и кода (как я понимаю) предназначенного для 32-битной системы в участке кода, имеющего вид
Declare Function XAXL Lib "CXA32.dll" (ByVal XAControl&, ByVal XAWndHnd&, ByVal XAMaxMem&, ByVal XAMaxRow&, ByVal XAMaxCol&, ByVal XAMaxNonZro&) As Integer
Declare Function XAXLREV Lib "CXA32.dll" (ByVal XAControl&) As Integer
Declare Function XAXLDONE Lib "CXA32.dll" (ByVal XAControl&) As Integer
Погуглив данную проблему добавил ключевое слово PtrSafe после каждого слова Declare – вроде проблема совместимости кода решилась… но теперь при запуске макроса возникает ошибка “Run-time error ‘48’: File not found: CXA32.dll” – то есть макрос не видит файл…
По инструкции к данному макросу файлы (библиотеки), относящиеся к данному макросу должны располагаться в папке Windows и вроде бы не требуют дополнительной регистрации. “В интренeтах” также пишут, что 64-битной системе подобные файлы должны быть в папке SysWOW64… Я пробовал копировать нужные файлы в эти и в разные другие папки (типа System32 и др.), а также пробовал прописывать в кавычках прямой путь к файлу, но результат один – макрос не находит данный файл.
Сначала думал, может в данном случае есть проблема работы с файлами «вообще», однако если через VBA просить excel открыть другую книгу, он это делает, то есть файлы видит… Возникает ощущение, что-либо я что-то не знаю о коде и там должно быть что-то допрописано для работы в 64-битной системе, или косяк в настройках excel (пользуюсь excel 2013).
Может кто сталкивался с подобным и подскажет что это за проблема и как ее решить?
Заранее прошу меня простить за возможно неграмотное изложение, ибо я не профессионал в работе с excel, а лишь любитель, которому приходится много с ним работать….
Столкнулся с такой проблемой. Сменил комп с 32-битной разрядной системой на другой с 64-битной. Скопировал на него нужный мне файл excel c макросом, использующий динамическую библиотеку dll. Сначала возникла проблема совместимости 64-битной системы и кода (как я понимаю) предназначенного для 32-битной системы в участке кода, имеющего вид
Declare Function XAXL Lib "CXA32.dll" (ByVal XAControl&, ByVal XAWndHnd&, ByVal XAMaxMem&, ByVal XAMaxRow&, ByVal XAMaxCol&, ByVal XAMaxNonZro&) As Integer
Declare Function XAXLREV Lib "CXA32.dll" (ByVal XAControl&) As Integer
Declare Function XAXLDONE Lib "CXA32.dll" (ByVal XAControl&) As Integer
Погуглив данную проблему добавил ключевое слово PtrSafe после каждого слова Declare – вроде проблема совместимости кода решилась… но теперь при запуске макроса возникает ошибка “Run-time error ‘48’: File not found: CXA32.dll” – то есть макрос не видит файл…
По инструкции к данному макросу файлы (библиотеки), относящиеся к данному макросу должны располагаться в папке Windows и вроде бы не требуют дополнительной регистрации. “В интренeтах” также пишут, что 64-битной системе подобные файлы должны быть в папке SysWOW64… Я пробовал копировать нужные файлы в эти и в разные другие папки (типа System32 и др.), а также пробовал прописывать в кавычках прямой путь к файлу, но результат один – макрос не находит данный файл.
Сначала думал, может в данном случае есть проблема работы с файлами «вообще», однако если через VBA просить excel открыть другую книгу, он это делает, то есть файлы видит… Возникает ощущение, что-либо я что-то не знаю о коде и там должно быть что-то допрописано для работы в 64-битной системе, или косяк в настройках excel (пользуюсь excel 2013).
Может кто сталкивался с подобным и подскажет что это за проблема и как ее решить? timur1987
Заранее прошу меня простить за возможно неграмотное изложение, ибо я не профессионал в работе с excel, а лишь любитель, которому приходится много с ним работать….
Столкнулся с такой проблемой. Сменил комп с 32-битной разрядной системой на другой с 64-битной. Скопировал на него нужный мне файл excel c макросом, использующий динамическую библиотеку dll. Сначала возникла проблема совместимости 64-битной системы и кода (как я понимаю) предназначенного для 32-битной системы в участке кода, имеющего вид
Declare Function XAXL Lib "CXA32.dll" (ByVal XAControl&, ByVal XAWndHnd&, ByVal XAMaxMem&, ByVal XAMaxRow&, ByVal XAMaxCol&, ByVal XAMaxNonZro&) As Integer
Declare Function XAXLREV Lib "CXA32.dll" (ByVal XAControl&) As Integer
Declare Function XAXLDONE Lib "CXA32.dll" (ByVal XAControl&) As Integer
Погуглив данную проблему добавил ключевое слово PtrSafe после каждого слова Declare – вроде проблема совместимости кода решилась… но теперь при запуске макроса возникает ошибка “Run-time error ‘48’: File not found: CXA32.dll” – то есть макрос не видит файл…
По инструкции к данному макросу файлы (библиотеки), относящиеся к данному макросу должны располагаться в папке Windows и вроде бы не требуют дополнительной регистрации. “В интренeтах” также пишут, что 64-битной системе подобные файлы должны быть в папке SysWOW64… Я пробовал копировать нужные файлы в эти и в разные другие папки (типа System32 и др.), а также пробовал прописывать в кавычках прямой путь к файлу, но результат один – макрос не находит данный файл.
Сначала думал, может в данном случае есть проблема работы с файлами «вообще», однако если через VBA просить excel открыть другую книгу, он это делает, то есть файлы видит… Возникает ощущение, что-либо я что-то не знаю о коде и там должно быть что-то допрописано для работы в 64-битной системе, или косяк в настройках excel (пользуюсь excel 2013).
Может кто сталкивался с подобным и подскажет что это за проблема и как ее решить? Автор - timur1987
Дата добавления - 26.12.2017 в 19:58
При попытке запуска мастеров в Microsoft Office Access, таких как мастера импорта, мастер запросов, мастер отчетов и мастер управления, вы получаете одну из следующих ошибок:
Причина
Один из следующих ключей реестра может не существовать.
ACEDAO.DLL
Установки MSI
Раздел: HKEY_CLASSES_ROOT\ TypeLib\\c.0\0\win32
Строка: (по умолчанию)
Значение: C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL
Раздел: HKEY_CLASSES_ROOT\ TypeLib\\c.0\0\win64
Строка: (по умолчанию)
Значение: C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL
Раздел: HKEY_CLASSES_ROOT\ TypeLib\\c.0\0\win32
Строка: (по умолчанию)
Значение: C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL
Office14 используется в пути ключа реестра выше. Это должно представлять текущую версию установленного access.
- OFFICE12 - Access 2007
- OFFICE14 - Access 2010
- OFFICE15 - Access 2013
- OFFICE16 — Access 2016
Установки click-to-Run
Раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\\c.0\0\win32
Строка: (по умолчанию)
Значение: C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL
Раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\\c.0\0\win64
Строка: (по умолчанию)
Значение: C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL
Раздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\\c.0\0\win32
Строка: (по умолчанию)
Значение: C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL
DAO360.DLL
Раздел: HKEY_CLASSES_ROOT\TYPELIB\\5.0\0\win32
Строка: (по умолчанию)
Значение: %CommonProgramFiles (x86)%\Microsoft Shared\DAO\dao360.dll
(64-Windows, 64-Office) или (32-Windows, 32-Office)
Раздел: HKEY_CLASSES_ROOT\TYPELIB\\5.0\0\win32
Строка: (по умолчанию)
Значение: %CommonProgramFiles%\Microsoft Shared\DAO\dao360.dll
Решение
Самостоятельное решение проблемы
Указанные ниже действия устраняют проблему, задав правильные значения для этих dlls в реестре.
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Компания Microsoft не может гарантировать, что эти проблемы могут быть решены. Вносите изменения в реестр на ваш страх и риск.
Действия по воссоздание ключей для MSI Installations:
Скопируйте и вклейте следующие строки текста для среды, начиная с Windows редактора реестра Версии 5.00, в Блокнот документ:
Убедитесь, что версия office (OFFICE14), указанная в пути, соответствует соответствующему значению из списка в начале этой статьи.
Сохраните Блокнот как Win32Keys.reg.
Выполните одно из указанных ниже действий.
- Используя Windows Explorer, дважды щелкните файл Win32Keys.reg для его запуска.
- В редакторе реестра перейдите в FileImport > , чтобы просмотреть, где сохранен файл Win32Keys.reg, а затем нажмите кнопку Открыть.
Дополнительная информация
This article applies only to a Microsoft Access database (.mdb). Requires basic macro, coding, and interoperability skills.
Symptoms
When you try to use a Microsoft Access wizard, such as the Import Text wizard or the Import Spreadsheet wizard, in Microsoft Access 2002, you may receive the following error message. When you try to open a form that is created by the Switchboard manager, you may receive the following error message:
Cause
This problem may occur if you have missing Microsoft Data Access Components (MDAC) files, corrupted MDAC files, or outdated MDAC files on your computer.
Resolution
To resolve this problem, use either of the following methods:
Method 1: Register the required Dao360.dll file and the Msado15.dll file
You may have to register the Dao360.dll file and the Msado15.dll file by using the Regsvr32.exe program. To do this, follow these steps:
Click Start, and then click Run.
In the Run dialog box, type the following commands in the Open box, and then click OK:
The Dao360.dll_Path placeholder is the absolute path of the Dao360.dll file.
The Msado15.dll_Path placeholder is the absolute path of the Msado15.dll file.
The following examples show how you may specify an absolute path:
Regsvr32.exe "C:\Program Files\Common Files\Microsoft Shared\DAO\Dao360.dll"
Regsvr32.exe "C:\Program Files\Common Files\system\ado\Msado15.dll"
If the Dao360.dll file is successfully registered, you receive a message that is similar to the following message:
DllRegisterServer in C:\Program Files\Common Files\Microsoft Shared\DAO\Dao360.dll succeeded.
If the Msado15.dll file is successfully registered, you receive a message that is similar to the following message:
DllRegisterServer in C:\Program Files\Common Files\system\ado\Msado15.dll succeeded.
Click OK.
Method 2: Install the latest version of MDAC
For additional information about how to download the latest version of MDAC, visit the following Microsoft Developer Network (MSDN) Web site:
Прошу помощи! Есть (или был) длинный код, который с большим скрипом писал несколько недель. Сейчас открываю документ, а мне Excel выдает ошибку "Error in loading DLL", а лист, на котором было многобукв абсолютно пустой! Копию книги не делал. Есть шанс восстановить код.
Ошибка: Run-time error 48 Error loading DLL
программа выдает ошибку: Run-time error 48 Error loading DLL выдает это когда вызывается.
С-api под Мак: ошибка "error In Loading Dll"
Здравствуйте все! Возникла необходимость заставить работать модуль, использующий очереди, под.
Error In Loading Dll
Использую стороннюю библиотеку и вызываю из неё процедуры На 6, 7 клиенте всё гуд На 8.5 ошибка.
Error loading C:\windows\mkofovuni.dll
Доброго времени суток у меня такая проблема. после лечения виндовса XP SP2 разными антивирусами.
- Сделайте резервную копию проблемного файла.
- Откройте файл и отключите макросы.
- Посмотрите в Tools-References, нет ли там битых ссылок на библиотеки (начинающихся со слова MISSING).
- Уберите флажки со всех битых ссылок на библиотеки, сохраните и закройте файл.
- Откройте файл снова. Можно продолжать работу.
Еще там есть ряд полезных замечаний по поводу вышеприведенных рекомендаций:
Замечание первое: перед удалением ссылок, возможно, понадобится также удалить все элементы управления форм, которые используют битые библиотеки.
Замечание второе: если файл редактируется в разных местах (например, дома и в офисе), то, прежде чем пускаться во все тяжкие с применением рекомендаций выше, следует протестировать работу файла во всех местах, где он редактировался, и если где-то он работает нормально - то можно просто скопировать DLL с данного компьютера и зарегистрировать ее на всех остальных.
Аксима, спасибо за ответ. Действительно оказалась проблема с несовместимостью библиотек. Компьютер с офисом 2007 отказывается открывать программу, сделанную в 2003 офисе. Отключение отсутствующих библиотек тоже не помогает. Утром на рабочем компьютере все открылось как ни в чем ни бывало.
Единственное, я не понял, какие библиотеки и откуда мне нужно забрать и поставить в комп с 2007 офисом, чтобы все работало и там.
Можно ли набор всех необходимых библиотек прикрутить к самому файлу эксель, чтобы он по умолчанию был совместим с любым компьютером?
На рабочем компьютере посмотрите поле Location в меню Tools->References.
Предположим, на домашнем компьютере отсутствует библиотека "Microsoft ActiveX Data Objects 6.1 Library", которой я часто пользуюсь.
Находим на рабочем компьютере одноименную библиотеку, смотрим в поле Location и выясняем, что необходим файл C:\Program Files\Common Files\System\ado\msado15.dll.
Сомневаюсь. Файл Excel не является исполняемым файлом, его нельзя скомпилировать вместе с нужными библиотеками.
Здравствуйте, ранее на этом отрезке кода всё было гладко
Dim WordApp As Word.Application
'создаём новый экземпляр приложения
Set WordApp = New Word.Application 'теперь ошибка 48 - ошибка при загрузке DLL
Почему происходит? Как лечить??
Спасибо
Собрал компьютер, вылетает ошибка: ошибка при загрузке AMBspi.dll ,не находит указаный модуль
Собрал комп для игр. Материнка Crosshair 4 formula, графика ASUS HD 6870; процесор AMD X4 965, 3,4.
Ошибка при загрузке DLL
Unable to load DLL 'sqlite3': Не найден указанный модуль. (Exception from HRESULT: 0x8007007E) По.
Ошибка hal.dll при загрузке
При выборе любого пункта компьютер выключается. Что с ним случилось, и как его оживить?
Ошибка при загрузке ldr.dll
Здравствуйте! Есть такая проблема: при входе на некоторые сайты (например, ВКонтакте) компьютер.
на домашнем все ОК, то есть ничего не поправляя, Ваш вариант проверю только в ПН.
тем не менее если по Вашему совету поправлю и будет всё ОК, а дома не ОК опять . не слава ВБА ))
Ципихович Эндрю,
Пуск - Панель управления - Установка и удаление программ - Microsoft Office 2003 - Изменить - Переустановить или восстановить - OK.
А версии MS Oficce одинаковые?
Добавлено через 1 минуту
Что-то не получается, привожу текст по ссылке, может поможет:
Цитата:
Т.к. файл писался долго, я часть писал дома, часть на работе
Вот из-за этого и проблема.
Скорее всего, дома и на работе Вы используете разные версии Microsoft Office.
Либо установлены ссылки на библиотеки, присутствующие только на одном из компов.
В следующий раз, как увидите ошибку, в редакторе VBA нажмите Tools - References, и в списке подключенных библиотек ищите отсутствующую (помечена словом MISSING)
Обычно достаточно в Tools - References убрать "лишние" галочки.
1
и дома и на работе Ворд поставлен с одного диска
2
после каждого изменения Нормал.дот я его копирую и изменяю, то есть и дома и на работе один и тот же Нормал.дот
не пойму
Читайте также: