Option Compare Database 'Verwenden der Datenbank-Sortierreihenfolge beim Vergleich von Zeichenfolgen. Option Explicit '==================================================================================== ' FILE OPEN/SAVE DECLARATIONS '==================================================================================== Type tagOPENFILENAME lStructSize As Long hWndOwner As Integer hInstance As Integer lpstrFilter As Long lpstrCustomFilter As Long nMaxCustFilter As Long NFilterIndex As Long lpstrFile As Long nMaxFile As Long lpstrFileTitle As Long nMaxFileTitle As Long lpstrInitialDir As Long lpstrTitle As Long Flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As Long lCustData As Long lpfnHook As Long lpTemplateName As Long End Type Declare Function GetOpenFileName Lib "COMMDLG.DLL" (OPENFILENAME As tagOPENFILENAME) As Integer Declare Function GetSaveFileName Lib "COMMDLG.DLL" (OPENFILENAME As tagOPENFILENAME) As Integer Declare Function lstrcpy& Lib "Kernel" (ByVal lpDestString As Any, ByVal lpSourceString As Any) Declare Function CommDlgExtendedError Lib "COMMDLG.DLL" () As Long Global Const OFN_READONLY = &H1 Global Const OFN_OVERWRITEPROMPT = &H2 Global Const OFN_HIDEREADONLY = &H4 Global Const OFN_NOCHANGEDIR = &H8 Global Const OFN_SHOWHELP = &H10 Global Const OFN_ENABLEHOOK = &H20 Global Const OFN_ENABLETEMPLATE = &H40 Global Const OFN_ENABLETEMPLATEHANDLE = &H80 Global Const OFN_NOVALIDATE = &H100 Global Const OFN_ALLOWMULTISELECT = &H200 Global Const OFN_EXTENSIONDIFFERENT = &H400 Global Const OFN_PATHMUSTEXIST = &H800 Global Const OFN_FILEMUSTEXIST = &H1000 Global Const OFN_CREATEPROMPT = &H2000 Global Const OFN_SHAREAWARE = &H4000 Global Const OFN_NOREADONLYRETURN = &H8000 Global Const OFN_NOTESTFILECREATE = &H10000 Global Const OFN_SHAREFALLTHROUGH = 2 Global Const OFN_SHARENOWARN = 1 Global Const OFN_SHAREWARN = 0 '----------------------------------------------------------------------------- ' Gibt den kompletten Pfad einer selectierten ' Datei aus. Die Angabe von Selectionskriterien muss ' innerhalb der Funktion erfolgen ' Beispiel: D:\WINDOWS\ACCESS20\TEST.TXT '----------------------------------------------------------------------------- ' getestet mit Access 2.0 ' (c) by Dirk Burkamp , burkamp@poboxes.com, 1997 ' Teil der deutschsprachigen Access FAQ www.ping.de\sites\ise\faq\access.htm '----------------------------------------------------------------------------- Function getfilename () Dim OPENFILENAME As tagOPENFILENAME Dim Message$, Filter$, FileName$, FileTitle$, DefExt$, Title$, Msg$, CRLF$ Dim szCurDir$, APIResults% CRLF$ = Chr$(13) & Chr$(10) Filter$ = "Text (*.txt)" & Chr$(0) & "*.TXT" & Chr$(0) Filter$ = Filter$ & "Datenbanken (*.mdb)" & Chr$(0) & "*.MDB" & Chr$(0) Filter$ = Filter$ & "Alle (*.*)" & Chr$(0) & "*.*" & Chr$(0) Filter$ = Filter$ & Chr$(0) FileName$ = "" & Chr$(0) & Space$(255) & Chr$(0) 'Default Filename FileTitle$ = "" & Chr$(0) & Space$(255) & Chr$(0) Title$ = "Datei auswaehlen" & Chr$(0) ' Der Titel der Fileselectionbox DefExt$ = "TXT" & Chr$(0) szCurDir$ = CurDir$ & Chr$(0) ' Default Verzeichnis OPENFILENAME.lStructSize = Len(OPENFILENAME) OPENFILENAME.hWndOwner = Screen.ActiveForm.hWnd OPENFILENAME.lpstrFilter = lstrcpy(Filter$, Filter$) OPENFILENAME.NFilterIndex = 1 ' Default Dateitypen OPENFILENAME.lpstrFile = lstrcpy(FileName$, FileName$) OPENFILENAME.nMaxFile = Len(FileName$) OPENFILENAME.lpstrFileTitle = lstrcpy(FileTitle$, FileTitle$) OPENFILENAME.nMaxFileTitle = Len(FileTitle$) OPENFILENAME.lpstrTitle = lstrcpy(Title$, Title$) OPENFILENAME.Flags = OFN_FILEMUSTEXIST Or OFN_READONLY OPENFILENAME.lpstrDefExt = lstrcpy(DefExt$, DefExt$) OPENFILENAME.hInstance = 0 OPENFILENAME.lpstrCustomFilter = 0 OPENFILENAME.nMaxCustFilter = 0 OPENFILENAME.lpstrInitialDir = lstrcpy(szCurDir$, szCurDir$) OPENFILENAME.nFileOffset = 0 OPENFILENAME.nFileExtension = 0 OPENFILENAME.lCustData = 0 OPENFILENAME.lpfnHook = 0 OPENFILENAME.lpTemplateName = 0 APIResults% = GetOpenFileName(OPENFILENAME) getfilename = FileName$ End Function