vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Sch?tzen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück
Rubrik: VBA Allgemein   |   VB-Versionen: VBA02.08.01
Datei-Dialog

Mit diesen Funktionen haben Sie Zugriff auf die Datei-Öffnen- und Datei-Speichern-Dialoge.

Autor:   Microsys KramerBewertung:     [ Jetzt bewerten ]Views:  53.410 
www.access-paradies.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 3.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Mit diesen Funktionen haben Sie Zugriff auf die Datei-Öffnen- und Datei-Speichern-Dialoge.

    Erstellen Sie ein neues Modul und fügen Sie nachfolgenden Code ein:

    Option Explicit
     
    Type AP_DateiDialogStruktur
      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 String
      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
     
    Declare Function GetOpenFileName Lib "comdlg32.dll" _
      Alias "GetOpenFileNameA" ( _
      DateiDialogStruktur As AP_DateiDialogStruktur) As Long
    Declare Function GetSaveFileName Lib "comdlg32.dll" _
      Alias "GetSaveFileNameA" ( _
      DateiDialogStruktur As AP_DateiDialogStruktur) As Long
     
    Public Const OFN_ALLOWMULTISELECT = &H200
    Public Const OFN_CREATEPROMPT = &H2000
    Public Const OFN_ENABLEHOOK = &H20
    Public Const OFN_ENABLETEMPLATE = &H40
    Public Const OFN_ENABLETEMPLATEHANDLE = &H80
    Public Const OFN_EXPLORER = &H80000
    Public Const OFN_EXTENSIONDIFFERENT = &H400
    Public Const OFN_FILEMUSTEXIST = &H1000
    Public Const OFN_HIDEREADONLY = &H4
    Public Const OFN_LONGNAMES = &H200000
    Public Const OFN_NOCHANGEDIR = &H8
    Public Const OFN_NODEREFERENCELINKS = &H100000
    Public Const OFN_NOLONGNAMES = &H40000
    Public Const OFN_NONETWORKBUTTON = &H20000
    Public Const OFN_NOREADONLYRETURN = &H8000
    Public Const OFN_NOTESTFILECREATE = &H10000
    Public Const OFN_NOVALIDATE = &H100
    Public Const OFN_OVERWRITEPROMPT = &H2
    Public Const OFN_PATHMUSTEXIST = &H800
    Public Const OFN_READONLY = &H1
    Public Const OFN_SHAREAWARE = &H4000
    Public Const OFN_SHAREFALLTHROUGH = 2
    Public Const OFN_SHARENOWARN = 1
    Public Const OFN_SHAREWARN = 0
    Public Const OFN_SHOWHELP = &H10
     
    Dim DateiDialogStruktur As AP_DateiDialogStruktur
     
    Function AP_DateiOeffnen(Verzeichnis As String, _
      Fenstertitel As String) As String
     
      On Error GoTo Err_AP_DateiOeffnen
     
      Dim Dateityp As String
      Dim Dateiname_mit_Pfad As String
      Dim Dateiname As String
      Dim Rueckwerte As Long
     
      Dateityp = ""
     
      ' Dateitypen in der Auswahlliste des Dateityp's
      ' Alle Dateien
      Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & _
        "*.*" & Chr$(0)
     
      ' Access-Dateitypen
      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)
     
      ' Word-Dateitypen
    '  Word-Dokumente (*.doc)
    '  Dokumentenvorlagen (*.dot)
    '  Rich Text Format (*.rtf)
    '  Textdateien (*.txt)
    '  Schedule+-Kontakte (*.scd)
    '  Persönliches Adreßbuch (*.pab)
    '  Outlook-Adreßbuch (*.olk)
    '  MS-DOS Text mit Layout (*.asc)
    '  Text mit Layout (*.ans)
    '  HTML Document (*.htm;*.html;*.htx)
    '  Windows Write (*.wri)
    '  Lotus 1-2-3 (*.wk1;*.wk3;*.wk4)
    '  WordPerfect 6.x (*.wpd;*.doc)
    '  Microsoft Excel-Arbeitsmappen (*.xls)
    '  Works 3.0 für Windows (*.wps)
    '  Works 4.0 für Windows (*.wps)
     
      ' Excel-Dateitypen
    '  Textdateien (*.prn;*.txt;*.csv)
    '  QuattroPro/DOS-Dateien (*.wq1)
    '  Microsoft Works 2.0-Dateien (*.wks)
    '  dBASE-Dateien (*.dbf)
    '  Add-Ins (*.xla;*.xll)
    '  Mustervorlagen (*.xlt)
    '  Arbeitsbereiche (*.xlw)
    '  Tabellen (*.xls)
     
      ' Sicherungsdateien (*.xlk;*.bak)
    '  HTML-Dateien (*.html;*.htm)
     
     
      ' Vorgegebenes Verzeichnis
      If Verzeichnis = "" Then
        ' Wenn leer, dann soll das aktuelle Verzeichnis
        ' verwendet werden
        Verzeichnis = CurDir$ & Chr$(0) 
      Else
        ' ANSI "0" an das übergebene Verzeichnis anhängen
        Verzeichnis = Verzeichnis & Chr$(0)
      End If
     
      If Fenstertitel = "" Then
        ' Wenn kein Titel übergeben worden ist
        Fenstertitel = "Datei öffnen" 
      Else
        ' ANSI "0" an übergebenen Fenstertitel anhängen
        Fenstertitel = Fenstertitel & Chr$(0)
      End If
     
      ' Speicherplatz für Dateieintrag (mit Pfadangabe)
      ' reservieren
      Dateiname_mit_Pfad = Space$(255) & Chr$(0)
     
      ' Speicherplatz für Dateieintrag (ohne Pfadangabe)
      ' reservieren
      Dateiname = Space$(255) & Chr$(0)
     
      ' Datenstruktur von DateiDialogStruktur festlegen
      DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
      DateiDialogStruktur.hwndOwner = 0&
      ' DateiDialogStruktur.hwndOwner = Application.hWndAccessApp
      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 Or _
        OFN_PATHMUSTEXIST Or OFN_HIDEREADONLY Or OFN_LONGNAMES
      DateiDialogStruktur.nFileOffset = 0
      DateiDialogStruktur.nFileExtension = 0
      DateiDialogStruktur.lCustData = 0
      DateiDialogStruktur.lpfnHook = 0
      DateiDialogStruktur.lpTemplateName = ""
     
      Rueckwerte = GetOpenFileName(DateiDialogStruktur)
     
      If Rueckwerte <> 0 Then
        AP_DateiOeffnen = Left(DateiDialogStruktur.lpstrFile, _
          InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
      End If
     
    Exit_AP_DateiOeffnen:
      Exit Function
     
    Err_AP_DateiOeffnen:
      MsgBox Err.Description
      Resume Exit_AP_DateiOeffnen
     
    End Function
     
    ' Funktion: Datei speichern unter...
    Function AP_DateiSpeichern(Verzeichnis As String, _
      Fenstertitel As String) As String
      On Error GoTo Err_AP_DateiSpeichern
     
      Dim Dateityp As String
      Dim Dateiname_mit_Pfad As String
      Dim Dateiname As String
      Dim Rueckwerte As Long
     
      ' Dateitypen in der Auswahlliste des Dateityp's
      ' Alle Dateien
      Dateityp = Dateityp & "Alle Dateien (*.*)" & Chr$(0) & "*.*" & Chr$(0)
     
      ' Access-Dateitypen
      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)
     
      ' Vorgegebenes Verzeichnis
      If Verzeichnis = "" Then
        ' Wenn leer, dann soll das aktuelle Verzeichnis
        ' verwendet werden
        Verzeichnis = CurDir$ & Chr$(0)
      Else
        ' ANSI "0" an das übergebene Verzeichnis
        ' anhängen
        Verzeichnis = Verzeichnis & Chr$(0)
      End If
     
      If Fenstertitel = "" Then
        ' Wenn kein Titel übergeben worden ist
        Fenstertitel = "Datei speichern"
      Else
        ' ANSI "0" an übergebenen Fenstertitel anhängen
        Fenstertitel = Fenstertitel & Chr$(0)
      End If
     
      ' Speicherplatz für Dateieintrag (mit Pfadangabe)
      ' reservieren
      Dateiname_mit_Pfad = Space$(255) & Chr$(0)
     
      ' Speicherplatz für Dateieintrag (ohne Pfadangabe)
      ' reservieren
      Dateiname = Space$(255) & Chr$(0)
     
      ' Datenstruktur von DateiDialogStruktur festlegen
      DateiDialogStruktur.lStructSize = Len(DateiDialogStruktur)
      DateiDialogStruktur.hwndOwner = 0&
      ' DateiDialogStruktur.hwndOwner = Application.hWndAccessApp
      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 Or _
        OFN_OVERWRITEPROMPT
      DateiDialogStruktur.nFileOffset = 0
      DateiDialogStruktur.nFileExtension = 0
      DateiDialogStruktur.lCustData = 0
      DateiDialogStruktur.lpfnHook = 0
      DateiDialogStruktur.lpTemplateName = ""
     
      Rueckwerte = GetSaveFileName(DateiDialogStruktur)
     
      If Rueckwerte <> 0 Then
        AP_DateiSpeichern = Left(DateiDialogStruktur.lpstrFile, _
          InStr(DateiDialogStruktur.lpstrFile, Chr$(0)) - 1)
      End If
     
    Exit_AP_DateiSpeichern:
      Exit Function
     
    Err_AP_DateiSpeichern:
      MsgBox Err.Description
      Resume Exit_AP_DateiSpeichern
     
    End Function

    Dieser Tipp wurde bereits 53.410 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2017 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel