2014-05-16 6 views
1

Я пытаюсь добавить ссылку на определенную DLL, и после нескольких попыток я нашел немного кода, который действительно работает. Однако, когда я пытаюсь использовать DLL, которая должна работать в Excel, она дает мне ошибку и отказывается загружаться.Проблема с резервной копией Excel VBA

Я протестировал этот код с помощью нескольких DLL-файлов, которые поставлялись с Excel/Windows, и у меня не было проблем .. Было интересно, может быть, есть какой-то процесс установки, который мне нужно пройти с помощью новых DLL или что-то в этом роде.

время выполнения ошибок «48»

Ошибка при загрузке DLL

Код:

Sub AddReference() 
Dim VBAEditor As VBIDE.VBE 
Dim vbProj As VBIDE.VBProject 
Dim chkRef As Reference 
Dim BoolExists As Boolean 

Set VBAEditor = Application.VBE 
Set vbProj = ActiveWorkbook.VBProject 

'~~> Check if "Microsoft VBScript Regular Expressions 5.5" is already added 
For Each chkRef In vbProj.References 
    If chkRef.Name = "VBScript_RegExp_55" Then 
     BoolExists = True 
     GoTo CleanUp 
    End If 
Next 

vbProj.References.AddFromFile "C:\WINDOWS\system32\HIDDEN.dll" 

CleanUp: 
If BoolExists = True Then 
    MsgBox "Reference already exists" 
Else 
    MsgBox "Reference Added Successfully" 
End If 

Set vbProj = Nothing 
Set VBAEditor = Nothing 
End Sub 
+1

Это 32 или 64-разрядная библиотека, которую вы загружаете? Биты Office и dll могут быть противоречивыми. –

+0

Это хороший момент, я только что нашел, что Office 32 бит. – user2994429

+0

Это была версия Office, вызывающая проблему, спасибо. – user2994429

ответ

2

Обычно такого рода проблемы связаны с противоречивыми разрядными версиями офиса и DLL загружаемой ,

Попробуйте загрузить правильную версию DLL.

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