Toon posts:

[VBA / Access] Fout kan 'VBACV20.DLL' niet vinden.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dit is het vervolg van topic '[VBA / Access]Sub uitvoeren vanuit een string'

Ik heb de volgende code:
----------------------------

Declare Function EbExecuteLine Lib "VBACV20.DLL" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long

Function FExecuteCode(stCode As String, Optional fCheckOnly As Boolean) As Boolean
FExecuteCode = EbExecuteLine(StrPtr(stCode), 0&, 0&, Abs(fCheckOnly)) = 0
End Function

Sub Test()
Call FExecuteCode("Msgbox(""test"")")
End Sub
----------------------------

Als ik de functie test uitvoer krijg ik de volgende fout:
'Fout 53. Kan het volgende bestand niet vinden: VBACV20.DLL'

Ik heb de dll wel op de PC staan (C:\Program Files\Common Files\Microsoft Shared\VBA\VBACV20.DLL).
Deze staat geregisteerd in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs.

Weet iemand wat ik hier fout doe? :?

Verwijderd

weet nie zeker. . maare. . .probeer dit eens : regsvr32.exe <dll-name> :?

Verwijderd

Topicstarter
Bij: regsvr32.exe C:\Progra~1\Common~1\Micros~1\VBA\VBACV20.DLL
Krijg ik een foutmelding!

------------------
RegSvr32
C:\Progra~1\Common~1\Micros~1\VBA\VBACV20.DLL was loaded, but the DllRegisterServer entry point wasn't found.

DllRegisterServer may not be exported, or a corrupt version of C:\Progra~1\Common~1\Micros~1\VBA\VBACV20.DLL may be in memory. Consider using PView to detect and remove it.
------------------

Wat gebeurt er bij jouw als je de bovenstaand commando laat uitvoeren?

  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 14:22

Kappie

Tell me your secrets...

Op donderdag 18 juli 2002 14:58 schreef tafkam het volgende:
Wat gebeurt er bij jouw als je de bovenstaand commando laat uitvoeren?
Dan wordt de bewuste dll geregistreerd door windows.

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.


Verwijderd

Op donderdag 18 juli 2002 16:42 schreef Kappie het volgende:
Dan wordt de bewuste dll geregistreerd door windows.
Huh!? Beschrijf je nou de werking van regsvr32.exe of heb dit ook daadwerkelijk getest!? Ik krijg hier ook een foutmelding... de DLL is namelijk geen ActiveX-DLL, dus zo vreemd is dat niet.

tafkam> In Google vind ik een andere website met de volgende declares, misschien werken deze wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
' For VB5
Private Declare Function EbExecuteLine Lib "vba5.dll"
(ByVal pStringToExec As Long, ByVal Unknownn1 As Long,
ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

' For VB6
Private Declare Function EbExecuteLine Lib "vba6.dll"
(ByVal pStringToExec As Long, ByVal Unknownn1 As Long,
ByVal Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

' FOR Access 97/VBE.dll clients like Word 97 and Excel 97
Declare Function EbExecuteLine Lib "vba332.dll"  (ByVal
pStringToExec As Long, ByVal Unknownn1 As Long,  ByVal
Unknownn2 As Long, ByVal fCheckOnly As Long) As Long

Verwijderd

Topicstarter
Bij Access 97 was vba332.dll de VBA dll. Bij Office 2000 is dit VBACV20.dll.

Naar mijn simpele mening zijn ze precies het zelfde. Ik heb met PE-explorer nog even voor de zekerheid gekeken of de functie er wel degelijk in zit. En dat is het geval.

Ik heb ook nog het 97 bestandje (vba332.dll) op de PC staan en daarmee geeft hij exact de zelfde fout.

Een laatste opmerking die ik kan doen is dat VBACV20.dll geselecteerd staat bij de references in VBA en dat deze ook niet uit te zetten is. Het is ook niet mogelijk een andere versie van deze dll (zoals vba332.dll) aan te zetten.

Met andere worden :?

Verwijderd

Topicstarter
Ik heb het nog eens geprobeerd op een windows 98 computer, maar daarbij krijk ik precies de zelfde fout.

Weet iemand hoe ik deze }:O moet platslaan?

Verwijderd

Topicstarter
edit:

Was niet waar
Pagina: 1