2013-10-25 3 views
2

В настоящее время я пытаюсь добавить элемент управления Power Analyzer в инструмент excel. Компания предоставляет USB-драйверы и соответствующие модули и библиотеки DLL. Я добавил библиотеки DLL в папку System32, чтобы убедиться, что они были прочитаны в пути. После импорта модулей и попыток запуска программы, я получаю сообщение об ошибке «Файл не найден». Затем я попытался жестко закодировать местоположение DLL, и я получил ту же ошибку.VBA Excel Не удается найти DLL

Я просмотрел Интернет, и единственная проблема, которую я смог найти, была, возможно, зависимостью, отсутствующей в DLL. Пример линии, которую я пытаюсь использовать, это:

Declare Function TmSend Lib "tmctl.dll" (ByVal id As Long, ByVal msg As String) As Long 

Эта линия отделена от модуля, предоставленного заводом-изготовителем. Есть что-то, что мне не хватает, чтобы заставить это работать? Прежде чем обратиться к производителю, я хочу убедиться.

EDIT:

Похоже, что производитель загрузил коррумпированный DLL вызывает возникнуть вопрос. При проверке файла с помощью Dependency Walker он даже не читал DLL.

+0

В Excel есть в меню Сервис -> Ссылки и добавьте ссылку на DLL (В VBA IDE) – Fred

+1

'Я добавил библиотеки DLL в папку System32, чтобы убедиться, что они были прочитаны в пути.' Это зарегистрировано с помощью 'Regsvr32' –

+0

@SiddharthRout Когда я запустил эту команду, я получаю сообщение об ошибке« Модуль загружен, но точка входа DllRegisterServer не найдена. ' – Talls

ответ

5

я вижу из вашего вопроса, что вы испробовали все обычные вещи (убедившись, что дллы на вашем пути & с.)

Теперь нужно внимательно изучить DLL. Загрузите это: http://www.dependencywalker.com/

Затем используйте его, чтобы открыть вашу dll. Все отсутствующие зависимые dll будут четко отображены. Поместите их на свой путь, и все готово.

(Чтобы прояснить некоторую путаницу: вам не нужно будет зарегистрировать эту библиотеку DLL или добавить ссылку на него.)

+1

+ 1 Ах! Зависимость Уокер! Как я мог пропустить это :) Красиво сделано –

Смежные вопросы