Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Objekte / Controls / ComDlg

CommonDialog: letzten Pfad merken

Wird das CommonDialog-Control zum Öffnen bzw. Speichern verwendet, so ist es ein schöner Service für den Anwender, wenn sich die Anwendung merkt, in welchem Pfad man zuletzt gewesen ist.

Dies läßt sich relativ einfach mit Hilfe der Registry und der InitDir-Methode des CommonDialogs realisieren. Hier ein Beispiel, das bei Klick auf das Formular eine entsprechende Dateiauswahlbox anzeigt:
Private Datei As String

Private Sub Form_Click()
  Dim Pfad As String

  'Registry auslesen:
  Pfad = GetSetting(App.EXEName, "Datei", "Pfad", "")

  On Error Resume Next
  With CommonDialog1
    'Bei "Abbruch" Fehler raisen lassen:
    .CancelError = True

    'Suchpfad einstellen:
    .InitDir = Pfad

    'und endlich den Dialog anzeigen:
    .ShowOpen

    'Auswertung:
    If Err = cdlCancel Then
      MsgBox "Abbruch"
    Else
      Datei = .Filename
      MsgBox Datei & " ausgewählt"

      'Pfad berechnen (Dateiname abschneiden):
      Pfad = Left$(Datei, Len(Datei) - Len(.FileTitle))

      'Registry schreiben:
      SaveSetting App.EXEName, "Datei", "Pfad", Pfad
    End If
  End With
  On Error GoTo 0
End Sub

© Jost Schwider, 30.04.2000-01.05.2000 - http://vb-tec.de/cdlgpers.htm