PDA

Vollständige Version anzeigen : Dialog Verzeichnisauswahl


oxygizer94
20.11.2003, 13:15
Hallo!
Hab´ im Forum folgende Verzeichnisauswahl-Möglichkeit gefunden
http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=40920
Leider ist das Beispiel für Acc97, ich habe aber XP. Ich habe die DB konvertiert und ausgeführt, bekomme aber dann die Fehlermeldung "Laufzeitfehler 53: Datei nicht gefunden: vba332.dll"
Kann man da was machen?
Hier der Code:

Option Compare Database
Option Explicit

Private Declare Function GetCurrentVbaProject Lib "vba332.dll" Alias _
"EbGetExecutingProj" (hProject As Long) As Long

Private Declare Function GetFuncID Lib "vba332.dll" Alias "TipGetFunctionId" _
(ByVal hProject As Long, ByVal strFunctionName As String, ByRef _
strFunctionId As String) As Long

Private Declare Function GetAddr Lib "vba332.dll" Alias _
"TipGetLpfnOfFunctionId" (ByVal hProject As Long, ByVal strFunctionId As _
String, ByRef lpfn As Long) As Long

Public Function AddrOf(strFuncName As String) As Long
Dim hProject As Long
Dim lngResult As Long
Dim strID As String
Dim lpfn As Long
Dim strFuncNameUnicode As String

Const NO_ERROR = 0

' The function name must be in Unicode, so convert it.
strFuncNameUnicode = StrConv(strFuncName, vbUnicode)

' Get the current VBA project
' The results of GetCurrentVBAProject seemed inconsistent, in our tests,
' so now we just check the project handle when the function returns.
Call GetCurrentVbaProject(hProject)

' Make sure we got a project handle... we always should, but you never know!
If hProject <> 0 Then
' Get the VBA function ID (whatever that is!)
lngResult = GetFuncID(hProject, strFuncNameUnicode, strID)

' We have to check this because we GPF if we try to get a function pointer
' of a non-existent function.
If lngResult = NO_ERROR Then
' Get the function pointer.
lngResult = GetAddr(hProject, strID, lpfn)

If lngResult = NO_ERROR Then
AddrOf = lpfn
End If
End If
End If

End Function


Der Fehler erscheint hier:

Call GetCurrentVbaProject(hProject)

Arne Dieckmann
20.11.2003, 13:17
Im Code-Archiv gibt es auch einen Dialog für Deine Access-Version:

http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=40921

oxygizer94
20.11.2003, 13:56
@ Arne
Klasse, funzt gut.
Hab´ ein paar Modifikationen vorgenommen und schon lassen sich auch die Dateien anzeigen.

Szebin
20.11.2003, 14:42
Hi Oxygizer,

läßt Du uns Nichtwissenden an Deinem Wissen teilhaben und magst Du uns verraten, wie sich auch die Dateien anzeigen lassen.

Danke Sabine

oxygizer94
20.11.2003, 17:05
Also, um auch die Dateien anzeigen zu lasseneinfach den Code an zwei Stellen ändern

'Const BIF_RETURNONLYFSDIRS = &H1
Const BIF_BROWSEINCLUDEFILES = &H4000

und

'.ulFlags = BIF_RETURNONLYFSDIRS
.ulFlags = BIF_BROWSEINCLUDEFILES


Weitere Modifikationen gibt´s hier:
http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=95650