Günther Kramer
28.12.2002, 10:40
<img src="images/codearchiv/dateidialog.gif" border=0><br><br>Fügen Sie den folgenden Code in ein Modul (neu oder vorhanden) ein.
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Compare</span> <span class="TOKEN">Database</span>
<span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
<span class="TOKEN">Type</span> DateiDialogStruktur
lStructSize <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
hwndOwner <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
hInstance <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFilter <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lpstrCustomFilter <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxCustFilter <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
nFilterIndex <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFile <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxFile <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFileTitle <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxFileTitle <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrInitialDir <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lpstrTitle <span class="TOKEN">As</span> <span class="TOKEN">String</span>
flags <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
nFileOffset <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
nFileExtension <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
lpstrDefExt <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lCustData <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpfnHook <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpTemplateName <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">End</span> <span class="TOKEN">Type</span>
<span class="TOKEN">Declare</span> <span class="TOKEN">Function</span> GetOpenFileName <span class="TOKEN">Lib</span> "comdlg32.dll" <span class="TOKEN">Alias</span> "GetOpenFileNameA" _
(DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur) <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Declare</span> <span class="TOKEN">Function</span> GetSaveFileName <span class="TOKEN">Lib</span> "comdlg32.dll" <span class="TOKEN">Alias</span> "GetSaveFileNameA" _
(DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur) <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ALLOWMULTISELECT = &H200
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_CREATEPROMPT = &H2000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLEHOOK = &H20
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLETEMPLATE = &H40
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLETEMPLATEHANDLE = &H80
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_EXPLORER = &H80000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_EXTENSIONDIFFERENT = &H400
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_FILEMUSTEXIST = &H1000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_HIDEREADONLY = &H4
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_LONGNAMES = &H200000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOCHANGEDIR = &H8
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NODEREFERENCELINKS = &H100000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOLONGNAMES = &H40000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NONETWORKBUTTON = &H20000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOREADONLYRETURN = &H8000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOTESTFILECREATE = &H10000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOVALIDATE = &H100
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_OVERWRITEPROMPT = &H2
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_PATHMUSTEXIST = &H800
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_READONLY = &H1
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREAWARE = &H4000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREFALLTHROUGH = 2
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHARENOWARN = 1
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREWARN = 0
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHOWHELP = &H10
<span class="TOKEN">Dim</span> DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur
<span class="TOKEN">Function</span> DateiOeffnen(Verzeichnis <span class="TOKEN">As</span> String, Fenstertitel <span class="TOKEN">As</span> <span class="TOKEN">String</span>) <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">On Error GoTo</span> Err_DateiOeffnen
<span class="TOKEN">Dim</span> Dateityp <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname_mit_Pfad <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Rueckwerte <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
Dateityp = ""
<span class="REM">' Dateitypen in der Auswahlliste des Dateityp's</span>
<span class="REM">' Alle Dateien</span>
Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0)
<span class="REM">' Access-Dateitypen</span>
Dateityp = Dateityp & _
"Microsoft Access-Datenbanken (*.mdb)" & Chr$(0) & "*.mdb" & Chr$(0)
Dateityp = Dateityp & _
"Add-Ins (*.mda)" & Chr$(0) & "*.mda" & Chr$(0)
Dateityp = Dateityp & _
"Arbeitsgruppen-Dateien (*.mdw)" & Chr$(0) & "*.mdw" & Chr$(0)
Dateityp = Dateityp & _
"MDE-Dateien (*.mde)" & Chr$(0) & "*.mde" & Chr$(0)
<span class="REM">' Word-Dateitypen</span>
<span class="REM">' Word-Dokumente (*.doc)</span>
<span class="REM">' Dokumentenvorlagen (*.dot)</span>
<span class="REM">' Rich Text Format (*.rtf)</span>
<span class="REM">' Textdateien (*.txt)</span>
<span class="REM">' Schedule+-Kontakte (*.scd)</span>
<span class="REM">' Persönliches Adreßbuch (*.pab)</span>
<span class="REM">' Outlook-Adreßbuch (*.olk)</span>
<span class="REM">' MS-DOS Text mit Layout (*.asc)</span>
<span class="REM">' Text mit Layout (*.ans)</span>
<span class="REM">' HTML Document (*.htm;*.html;*.htx)</span>
<span class="REM">' Windows Write (*.wri)</span>
<span class="REM">' Lotus 1-2-3 (*.wk1;*.wk3;*.wk4)</span>
<span class="REM">' WordPerfect 6.x (*.wpd;*.doc)</span>
<span class="REM">' Microsoft Excel-Arbeitsmappen (*.xls)</span>
<span class="REM">' Works 3.0 für Windows (*.wps)</span>
<span class="REM">' Works 4.0 für Windows (*.wps)</span>
<span class="REM">' Excel-Dateitypen</span>
<span class="REM">' Textdateien (*.prn;*.txt;*.csv)</span>
<span class="REM">' QuattroPro/DOS-Dateien (*.wq1)</span>
<span class="REM">' Microsoft Works 2.0-Dateien (*.wks)</span>
<span class="REM">' dBASE-Dateien (*.dbf)</span>
<span class="REM">' Add-Ins (*.xla;*.xll)</span>
<span class="REM">' Mustervorlagen (*.xlt)</span>
<span class="REM">' Arbeitsbereiche (*.xlw)</span>
<span class="REM">' Tabellen (*.xls)</span>
<span class="REM">' Sicherungsdateien (*.xlk;*.bak)</span>
<span class="REM">' HTML-Dateien (*.html;*.htm)</span>
<span class="REM">' Vorgegebenes Verzeichnis</span>
<span class="TOKEN">If</span> Verzeichnis = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn leer, dann soll das aktuelle Verzeichnis verwendet werden</span>
Verzeichnis = CurDir$ & Chr$(0)
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an das übergebene Verzeichnis anhängen</span>
Verzeichnis = Verzeichnis & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> Fenstertitel = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn kein Titel übergeben worden ist</span>
Fenstertitel = "Datei öffnen"
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an übergebenen Fenstertitel anhängen</span>
Fenstertitel = Fenstertitel & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="REM">' Speicherplatz für Dateieintrag (mit Pfadangabe) reservieren</span>
Dateiname_mit_Pfad = Space$(255) & Chr$(0)
<span class="REM">' Speicherplatz für Dateieintrag (ohne Pfadangabe) reservieren</span>
Dateiname = Space$(255) & Chr$(0)
<span class="REM">'Datenstruktur von DateiDialogStruktur festlegen</span>
DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
DateiDialogStruktur.hwndOwner = 0&
<span class="REM"> 'DateiDialogStruktur.hwndOwner = Application.hWndAccessApp</span>
DateiDialogStruktur.lpstrFilter = Dateityp
DateiDialogStruktur.nFilterIndex = 1
DateiDialogStruktur.lpstrFile = Dateiname_mit_Pfad
DateiDialogStruktur.nMaxFile = Len(Dateiname_mit_Pfad)
DateiDialogStruktur.lpstrFileTitle = Dateiname
DateiDialogStruktur.nMaxFileTitle = Len(Dateiname)
DateiDialogStruktur.lpstrInitialDir = Verzeichnis
DateiDialogStruktur.lpstrTitle = Fenstertitel
DateiDialogStruktur.flags = OFN_FILEMUSTEXIST <span class="TOKEN">Or</span> OFN_PATHMUSTEXIST _
<span class="TOKEN">Or</span> OFN_HIDEREADONLY <span class="TOKEN">Or</span> OFN_LONGNAMES
DateiDialogStruktur.nFileOffset = 0
DateiDialogStruktur.nFileExtension = 0
DateiDialogStruktur.lCustData = 0
DateiDialogStruktur.lpfnHook = 0
DateiDialogStruktur.lpTemplateName = ""
Rueckwerte = GetOpenFileName(DateiDialogStruktur)
<span class="TOKEN">If</span> Rueckwerte <> 0 <span class="TOKEN">Then</span>
DateiOeffnen = Left(DateiDialogStruktur.lpstrFile, _
InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Exit_DateiOeffnen:
<span class="TOKEN">Exit Function</span>
Err_DateiOeffnen:
MsgBox Err.Description
<span class="TOKEN">Resume</span> Exit_DateiOeffnen
<span class="TOKEN">End</span> <span class="TOKEN">Function</span>
<span class="TOKEN">Function</span> DateiSpeichern(Verzeichnis <span class="TOKEN">As</span> String, Fenstertitel <span class="TOKEN">As</span> <span class="TOKEN">String</span>) <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">On Error GoTo</span> Err_DateiSpeichern
<span class="TOKEN">Dim</span> Dateityp <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname_mit_Pfad <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Rueckwerte <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="REM">' Dateitypen in der Auswahlliste des Dateityp's</span>
<span class="REM">' Alle Dateien</span>
Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0)
<span class="REM">' Access-Dateitypen</span>
Dateityp = Dateityp & _
"Microsoft Access-Datenbanken (*.mdb)" & Chr$(0) & "*.mdb" & Chr$(0)
Dateityp = Dateityp & _
"Add-Ins (*.mda)" & Chr$(0) & "*.mda" & Chr$(0)
Dateityp = Dateityp & _
"Arbeitsgruppen-Dateien (*.mdw)" & Chr$(0) & "*.mdw" & Chr$(0)
Dateityp = Dateityp & _
"MDE-Dateien (*.mde)" & Chr$(0) & "*.mde" & Chr$(0)
<span class="REM">' Vorgegebenes Verzeichnis</span>
<span class="TOKEN">If</span> Verzeichnis = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn leer, dann soll das aktuelle Verzeichnis verwendet werden</span>
Verzeichnis = CurDir$ & Chr$(0)
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an das übergebene Verzeichnis anhängen</span>
Verzeichnis = Verzeichnis & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> Fenstertitel = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn kein Titel übergeben worden ist</span>
Fenstertitel = "Datei speichern"
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an übergebenen Fenstertitel anhängen</span>
Fenstertitel = Fenstertitel & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="REM">' Speicherplatz für Dateieintrag (mit Pfadangabe) reservieren</span>
Dateiname_mit_Pfad = Space$(255) & Chr$(0)
<span class="REM">' Speicherplatz für Dateieintrag (ohne Pfadangabe) reservieren</span>
Dateiname = Space$(255) & Chr$(0)
<span class="REM">'Datenstruktur von DateiDialogStruktur festlegen</span>
DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
DateiDialogStruktur.hwndOwner = 0&
<span class="REM"> 'DateiDialogStruktur.hwndOwner = Application.hWndAccessApp</span>
DateiDialogStruktur.lpstrFilter = Dateityp
DateiDialogStruktur.nFilterIndex = 1
DateiDialogStruktur.lpstrFile = Dateiname_mit_Pfad
DateiDialogStruktur.nMaxFile = Len(Dateiname_mit_Pfad)
DateiDialogStruktur.lpstrFileTitle = Dateiname
DateiDialogStruktur.nMaxFileTitle = Len(Dateiname)
DateiDialogStruktur.lpstrInitialDir = Verzeichnis
DateiDialogStruktur.lpstrTitle = Fenstertitel
DateiDialogStruktur.flags = OFN_HIDEREADONLY <span class="TOKEN">Or</span> OFN_OVERWRITEPROMPT
DateiDialogStruktur.nFileOffset = 0
DateiDialogStruktur.nFileExtension = 0
DateiDialogStruktur.lCustData = 0
DateiDialogStruktur.lpfnHook = 0
DateiDialogStruktur.lpTemplateName = ""
Rueckwerte = GetSaveFileName(DateiDialogStruktur)
<span class="TOKEN">If</span> Rueckwerte <> 0 <span class="TOKEN">Then</span>
DateiSpeichern = Left(DateiDialogStruktur.lpstrFile, _
InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Exit_DateiSpeichern:
<span class="TOKEN">Exit Function</span>
Err_DateiSpeichern:
MsgBox Err.Description
<span class="TOKEN">Resume</span> Exit_DateiSpeichern
<span class="TOKEN">End</span> <span class="TOKEN">Function</span></pre></div>
Zum Öffnen verwenden Sie innerhalb Ihres Formulars den folgenden Code:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> Path <span class="TOKEN">As</span> <span class="TOKEN">String</span>
Path = DateiOeffnen("C:\Eigene Dateien", "Datei öffnen")
MsgBox Path</pre></div>
Zum Speichern einer Datei verwenden Sie den folgenden Code:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> Path <span class="TOKEN">As</span> <span class="TOKEN">String</span>
Path = DateiSpeichern("C:\Eigene Dateien", "Datei speichern")
MsgBox Path</pre></div>
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Option</span> <span class="TOKEN">Compare</span> <span class="TOKEN">Database</span>
<span class="TOKEN">Option</span> <span class="TOKEN">Explicit</span>
<span class="TOKEN">Type</span> DateiDialogStruktur
lStructSize <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
hwndOwner <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
hInstance <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFilter <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lpstrCustomFilter <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxCustFilter <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
nFilterIndex <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFile <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxFile <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrFileTitle <span class="TOKEN">As</span> <span class="TOKEN">String</span>
nMaxFileTitle <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpstrInitialDir <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lpstrTitle <span class="TOKEN">As</span> <span class="TOKEN">String</span>
flags <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
nFileOffset <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
nFileExtension <span class="TOKEN">As</span> <span class="TOKEN">Integer</span>
lpstrDefExt <span class="TOKEN">As</span> <span class="TOKEN">String</span>
lCustData <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpfnHook <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
lpTemplateName <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">End</span> <span class="TOKEN">Type</span>
<span class="TOKEN">Declare</span> <span class="TOKEN">Function</span> GetOpenFileName <span class="TOKEN">Lib</span> "comdlg32.dll" <span class="TOKEN">Alias</span> "GetOpenFileNameA" _
(DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur) <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Declare</span> <span class="TOKEN">Function</span> GetSaveFileName <span class="TOKEN">Lib</span> "comdlg32.dll" <span class="TOKEN">Alias</span> "GetSaveFileNameA" _
(DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur) <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ALLOWMULTISELECT = &H200
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_CREATEPROMPT = &H2000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLEHOOK = &H20
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLETEMPLATE = &H40
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_ENABLETEMPLATEHANDLE = &H80
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_EXPLORER = &H80000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_EXTENSIONDIFFERENT = &H400
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_FILEMUSTEXIST = &H1000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_HIDEREADONLY = &H4
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_LONGNAMES = &H200000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOCHANGEDIR = &H8
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NODEREFERENCELINKS = &H100000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOLONGNAMES = &H40000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NONETWORKBUTTON = &H20000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOREADONLYRETURN = &H8000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOTESTFILECREATE = &H10000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_NOVALIDATE = &H100
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_OVERWRITEPROMPT = &H2
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_PATHMUSTEXIST = &H800
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_READONLY = &H1
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREAWARE = &H4000
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREFALLTHROUGH = 2
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHARENOWARN = 1
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHAREWARN = 0
<span class="TOKEN">Public</span> <span class="TOKEN">Const</span> OFN_SHOWHELP = &H10
<span class="TOKEN">Dim</span> DateiDialogStruktur <span class="TOKEN">As</span> DateiDialogStruktur
<span class="TOKEN">Function</span> DateiOeffnen(Verzeichnis <span class="TOKEN">As</span> String, Fenstertitel <span class="TOKEN">As</span> <span class="TOKEN">String</span>) <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">On Error GoTo</span> Err_DateiOeffnen
<span class="TOKEN">Dim</span> Dateityp <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname_mit_Pfad <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Rueckwerte <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
Dateityp = ""
<span class="REM">' Dateitypen in der Auswahlliste des Dateityp's</span>
<span class="REM">' Alle Dateien</span>
Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0)
<span class="REM">' Access-Dateitypen</span>
Dateityp = Dateityp & _
"Microsoft Access-Datenbanken (*.mdb)" & Chr$(0) & "*.mdb" & Chr$(0)
Dateityp = Dateityp & _
"Add-Ins (*.mda)" & Chr$(0) & "*.mda" & Chr$(0)
Dateityp = Dateityp & _
"Arbeitsgruppen-Dateien (*.mdw)" & Chr$(0) & "*.mdw" & Chr$(0)
Dateityp = Dateityp & _
"MDE-Dateien (*.mde)" & Chr$(0) & "*.mde" & Chr$(0)
<span class="REM">' Word-Dateitypen</span>
<span class="REM">' Word-Dokumente (*.doc)</span>
<span class="REM">' Dokumentenvorlagen (*.dot)</span>
<span class="REM">' Rich Text Format (*.rtf)</span>
<span class="REM">' Textdateien (*.txt)</span>
<span class="REM">' Schedule+-Kontakte (*.scd)</span>
<span class="REM">' Persönliches Adreßbuch (*.pab)</span>
<span class="REM">' Outlook-Adreßbuch (*.olk)</span>
<span class="REM">' MS-DOS Text mit Layout (*.asc)</span>
<span class="REM">' Text mit Layout (*.ans)</span>
<span class="REM">' HTML Document (*.htm;*.html;*.htx)</span>
<span class="REM">' Windows Write (*.wri)</span>
<span class="REM">' Lotus 1-2-3 (*.wk1;*.wk3;*.wk4)</span>
<span class="REM">' WordPerfect 6.x (*.wpd;*.doc)</span>
<span class="REM">' Microsoft Excel-Arbeitsmappen (*.xls)</span>
<span class="REM">' Works 3.0 für Windows (*.wps)</span>
<span class="REM">' Works 4.0 für Windows (*.wps)</span>
<span class="REM">' Excel-Dateitypen</span>
<span class="REM">' Textdateien (*.prn;*.txt;*.csv)</span>
<span class="REM">' QuattroPro/DOS-Dateien (*.wq1)</span>
<span class="REM">' Microsoft Works 2.0-Dateien (*.wks)</span>
<span class="REM">' dBASE-Dateien (*.dbf)</span>
<span class="REM">' Add-Ins (*.xla;*.xll)</span>
<span class="REM">' Mustervorlagen (*.xlt)</span>
<span class="REM">' Arbeitsbereiche (*.xlw)</span>
<span class="REM">' Tabellen (*.xls)</span>
<span class="REM">' Sicherungsdateien (*.xlk;*.bak)</span>
<span class="REM">' HTML-Dateien (*.html;*.htm)</span>
<span class="REM">' Vorgegebenes Verzeichnis</span>
<span class="TOKEN">If</span> Verzeichnis = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn leer, dann soll das aktuelle Verzeichnis verwendet werden</span>
Verzeichnis = CurDir$ & Chr$(0)
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an das übergebene Verzeichnis anhängen</span>
Verzeichnis = Verzeichnis & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> Fenstertitel = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn kein Titel übergeben worden ist</span>
Fenstertitel = "Datei öffnen"
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an übergebenen Fenstertitel anhängen</span>
Fenstertitel = Fenstertitel & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="REM">' Speicherplatz für Dateieintrag (mit Pfadangabe) reservieren</span>
Dateiname_mit_Pfad = Space$(255) & Chr$(0)
<span class="REM">' Speicherplatz für Dateieintrag (ohne Pfadangabe) reservieren</span>
Dateiname = Space$(255) & Chr$(0)
<span class="REM">'Datenstruktur von DateiDialogStruktur festlegen</span>
DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
DateiDialogStruktur.hwndOwner = 0&
<span class="REM"> 'DateiDialogStruktur.hwndOwner = Application.hWndAccessApp</span>
DateiDialogStruktur.lpstrFilter = Dateityp
DateiDialogStruktur.nFilterIndex = 1
DateiDialogStruktur.lpstrFile = Dateiname_mit_Pfad
DateiDialogStruktur.nMaxFile = Len(Dateiname_mit_Pfad)
DateiDialogStruktur.lpstrFileTitle = Dateiname
DateiDialogStruktur.nMaxFileTitle = Len(Dateiname)
DateiDialogStruktur.lpstrInitialDir = Verzeichnis
DateiDialogStruktur.lpstrTitle = Fenstertitel
DateiDialogStruktur.flags = OFN_FILEMUSTEXIST <span class="TOKEN">Or</span> OFN_PATHMUSTEXIST _
<span class="TOKEN">Or</span> OFN_HIDEREADONLY <span class="TOKEN">Or</span> OFN_LONGNAMES
DateiDialogStruktur.nFileOffset = 0
DateiDialogStruktur.nFileExtension = 0
DateiDialogStruktur.lCustData = 0
DateiDialogStruktur.lpfnHook = 0
DateiDialogStruktur.lpTemplateName = ""
Rueckwerte = GetOpenFileName(DateiDialogStruktur)
<span class="TOKEN">If</span> Rueckwerte <> 0 <span class="TOKEN">Then</span>
DateiOeffnen = Left(DateiDialogStruktur.lpstrFile, _
InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Exit_DateiOeffnen:
<span class="TOKEN">Exit Function</span>
Err_DateiOeffnen:
MsgBox Err.Description
<span class="TOKEN">Resume</span> Exit_DateiOeffnen
<span class="TOKEN">End</span> <span class="TOKEN">Function</span>
<span class="TOKEN">Function</span> DateiSpeichern(Verzeichnis <span class="TOKEN">As</span> String, Fenstertitel <span class="TOKEN">As</span> <span class="TOKEN">String</span>) <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">On Error GoTo</span> Err_DateiSpeichern
<span class="TOKEN">Dim</span> Dateityp <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname_mit_Pfad <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Dateiname <span class="TOKEN">As</span> <span class="TOKEN">String</span>
<span class="TOKEN">Dim</span> Rueckwerte <span class="TOKEN">As</span> <span class="TOKEN">Long</span>
<span class="REM">' Dateitypen in der Auswahlliste des Dateityp's</span>
<span class="REM">' Alle Dateien</span>
Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0)
<span class="REM">' Access-Dateitypen</span>
Dateityp = Dateityp & _
"Microsoft Access-Datenbanken (*.mdb)" & Chr$(0) & "*.mdb" & Chr$(0)
Dateityp = Dateityp & _
"Add-Ins (*.mda)" & Chr$(0) & "*.mda" & Chr$(0)
Dateityp = Dateityp & _
"Arbeitsgruppen-Dateien (*.mdw)" & Chr$(0) & "*.mdw" & Chr$(0)
Dateityp = Dateityp & _
"MDE-Dateien (*.mde)" & Chr$(0) & "*.mde" & Chr$(0)
<span class="REM">' Vorgegebenes Verzeichnis</span>
<span class="TOKEN">If</span> Verzeichnis = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn leer, dann soll das aktuelle Verzeichnis verwendet werden</span>
Verzeichnis = CurDir$ & Chr$(0)
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an das übergebene Verzeichnis anhängen</span>
Verzeichnis = Verzeichnis & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">If</span> Fenstertitel = "" <span class="TOKEN">Then</span>
<span class="REM"> ' Wenn kein Titel übergeben worden ist</span>
Fenstertitel = "Datei speichern"
<span class="TOKEN">Else</span>
<span class="REM"> ' ANSI "0" an übergebenen Fenstertitel anhängen</span>
Fenstertitel = Fenstertitel & Chr$(0)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="REM">' Speicherplatz für Dateieintrag (mit Pfadangabe) reservieren</span>
Dateiname_mit_Pfad = Space$(255) & Chr$(0)
<span class="REM">' Speicherplatz für Dateieintrag (ohne Pfadangabe) reservieren</span>
Dateiname = Space$(255) & Chr$(0)
<span class="REM">'Datenstruktur von DateiDialogStruktur festlegen</span>
DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
DateiDialogStruktur.hwndOwner = 0&
<span class="REM"> 'DateiDialogStruktur.hwndOwner = Application.hWndAccessApp</span>
DateiDialogStruktur.lpstrFilter = Dateityp
DateiDialogStruktur.nFilterIndex = 1
DateiDialogStruktur.lpstrFile = Dateiname_mit_Pfad
DateiDialogStruktur.nMaxFile = Len(Dateiname_mit_Pfad)
DateiDialogStruktur.lpstrFileTitle = Dateiname
DateiDialogStruktur.nMaxFileTitle = Len(Dateiname)
DateiDialogStruktur.lpstrInitialDir = Verzeichnis
DateiDialogStruktur.lpstrTitle = Fenstertitel
DateiDialogStruktur.flags = OFN_HIDEREADONLY <span class="TOKEN">Or</span> OFN_OVERWRITEPROMPT
DateiDialogStruktur.nFileOffset = 0
DateiDialogStruktur.nFileExtension = 0
DateiDialogStruktur.lCustData = 0
DateiDialogStruktur.lpfnHook = 0
DateiDialogStruktur.lpTemplateName = ""
Rueckwerte = GetSaveFileName(DateiDialogStruktur)
<span class="TOKEN">If</span> Rueckwerte <> 0 <span class="TOKEN">Then</span>
DateiSpeichern = Left(DateiDialogStruktur.lpstrFile, _
InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Exit_DateiSpeichern:
<span class="TOKEN">Exit Function</span>
Err_DateiSpeichern:
MsgBox Err.Description
<span class="TOKEN">Resume</span> Exit_DateiSpeichern
<span class="TOKEN">End</span> <span class="TOKEN">Function</span></pre></div>
Zum Öffnen verwenden Sie innerhalb Ihres Formulars den folgenden Code:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> Path <span class="TOKEN">As</span> <span class="TOKEN">String</span>
Path = DateiOeffnen("C:\Eigene Dateien", "Datei öffnen")
MsgBox Path</pre></div>
Zum Speichern einer Datei verwenden Sie den folgenden Code:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> Path <span class="TOKEN">As</span> <span class="TOKEN">String</span>
Path = DateiSpeichern("C:\Eigene Dateien", "Datei speichern")
MsgBox Path</pre></div>