FileOpen - FileSave

Die Routinen um Dateien zu öffnen, bzw. abzuspeichern sind sehr ähnlich. Struktur befüllen und Funktion aufrufen.

Nachdem oft geöffnete Dateien auch wieder gespeichert werden sollen, liegt es nahe die Funktionen und Deklarationen in einem Modul zusammen zu fassen.

In ein zweites Modul folgenden Code kopieren:


Option Explicit

Public Const strVersion As String = "V1.0"                           'open and save dialogs
Public Const strMakro As String = "Common Dialogs Open/Save"

Sub CATMain()

   CDlgInitialize 0&                                                 'no owner

   If CDlgOpenDlg(0&) Then MsgBox ofn.lpstrFile                      'no owner
   If CDlgSaveDlg(0&, "c:\dummy.txt") Then MsgBox ofn.lpstrFile      'no owner
   
End Sub

Public Function Trim0(sName As String) As String
   'if there is one or more trailing /0, trim the string
   If InStr(sName, Chr$(0)) Then
      Trim0 = Mid$(sName, 1, InStr(sName, Chr$(0)) - 1)
   Else
      Trim0 = sName
   End If
End Function


 Um FileOpen oder FileSave aufzurufen ist kein Besitzer-Handle notwendig, kann aber angegeben werden.

Nachdem die Struktur für Öffnen/Speichern sehr ähnlich ist, wurde ein Teil der Zuweisungen in die Routine CDlgInitialize gepackt (ähnlich dem Beispiel in Charles Petzold's  Buch).

FileOpen sieht dann so aus ... (je nach Betriebssystem):

 ... und FileSave so:

Zum Seitenanfang