C ++ DLL, вызываемая из VBA в Excel 2010, работает только в режиме администратора

Я создал простую DLL в Visual Studio 2012, которая выполняет вычисления. Я вызываю эту DLL из VBA в Excel 2010, используя следующий синтаксис:

Declare Sub MyFunction Lib "MyDll.dll" (ByRef param1 As Double, ByVal param2 As Double)

Эта функция отлично работает на моей машине. Когда я пытаюсь запустить эту DLL на другом компьютере, я получаю следующую ошибку:

Run-time error '53': File not found: MyDll.dll

Однако, когда я запускаю Excel (на другом компьютере) в режиме администратора (с повышенными правами), я не получаю эту ошибку, и все работает отлично.

Можно ли как-нибудь заставить это работать, не заставляя пользователя запускать Excel в качестве администратора?

0

Решение

Из того, что я могу догадаться, ваша DLL не находится в рабочем каталоге, каталоге переменных PATH или системном каталоге. Excel не ищет в каталоге, в котором находится ваша DLL, поэтому вам нужно переместить вашу DLL в системный каталог, один из каталогов переменных PATH или отличный рабочий каталог.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]