Hallo zusammen,
ich habe einen Speichern unter-Dialog in Access eingefügt. Das Fenster öffnet sich auch, das Problem ist nur, dass in der Variablen „OPENFILE.lpstrFile“ leider nur der Pfad+Dateiname ohne Dateierweiterung steht, z.B. C:\test (ohne .txt)
Ich habe dann versucht, mit Hilfe eines Strings die Erweiterung anzuhängen, ging aber leider nicht. Wer kann mir helfen, ist sehr dringend ! Wäre echt super… den Code hab ich unten angefügt !
Vielen Dank für alle Tips und Hilfestellungen, Christoph
___________________________________________________________________
Option Compare Database
Option Explicit
'Anfang des Deklartionsblocks
Type GETFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As Long
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Public Declare Function apiGetSaveFileName Lib „comdlg32.dll“ _
Alias „GetSaveFileNameA“ (pOpenfilename As GETFILENAME) As Long
______________________________________________________________________
Private Sub CmdSave_Click()
Dim OpenFile As GETFILENAME
Dim lReturn As Long
Dim sFilter As String
On Error GoTo HandleErr
OpenFile.lStructSize = Len(OpenFile)
OpenFile.hwndOwner = Me.Hwnd
sFilter = „Textdateien (*.txt)“ & Chr(0) & „*.txt“ & Chr(0)
OpenFile.lpstrFilter = sFilter
OpenFile.nFilterIndex = 1
OpenFile.lpstrFile = String(257, 0)
OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1
OpenFile.nMaxFileTitle = OpenFile.nMaxFile
OpenFile.lpstrInitialDir = „C:“
OpenFile.lpstrTitle = „‚Speichern unter‘-Dialog der Common Dialog API“
OpenFile.flags = 0
lReturn = apiGetSaveFileName(OpenFile)
If lReturn = 0 Then
MsgBox „Der Anwender hat die Aktion abgebrochen.“
Else
MsgBox "Der Anwender hat den folgenden Pfad und Datei angegeben: " _
& Trim(OpenFile.lpstrFile)
End If
ExitHere:
Exit Sub
HandleErr:
Select Case Err.Number
Case Else
MsgBox "Fehler " & Err.Number & ": " & Err.Description, vbCritical, „Modul1.CmdSave_Click“
End Select
End Sub