Excel 2003 - Datei öffnen Dialog in Makro

Ghost-Dawg

Erfahrenes Mitglied
Hallo zusammen,

ich möchte in Excel gerne folgendes realisieren:

- Ich starte ein Makro
- Dieses Makro ruft das "Datei öffnen"-Fenster auf
- Dort wähle ich die zu bearbeitende Datei
- Wenn ich diese Datei geöffnet habe, bearbeite das Makro sie automatisch weiter

Leider weiss ich nicht, wie ich das "Datei öffnen"-Fenster per Makro aufrufen kann.

Hat hier jemand eine Idee ?

Vielen Dank!
 
Hi,

hiermit kannst Du den Öffnen-Dialog einblenden:

Code:
Application.Dialogs(xlDialogOpen).Show

Gruß Thomas
 
Ok danke, das hilft schonmal.

Leider taucht jetzt das nächste Problem auf:

Die Datei, die ich mittels dem "Datei öffnen"-Dialog öffne, wird in die Datei mit dem Makro kopiert, um dort weiter verarbeitet zu werden.
Das Makro soll dann aber die geöffnete Datei (die ja immer einen unterschiedlichen Namen hat) wieder schliessen. Wie lässt sich das realisieren ?

Danke!
 
Also nachdem durch das Makro die Datei XY geöffnet wurde, ist dieses (auch wenn das Makro noch läuft) die aktive Datei.

Schließen kannst du sie mit:
Code:
ActiveWorkbook.Close

Du mußt halt prüfen ob überhaupt eine Datei geöffnet wurde oder ob die Abbrechen Schaltfläche angeklickt wurde. In diesem Fall würde sonst die Datei geschlossen, in der das Makro aktiv ist.

Gruß Thomas
 
Es wurde eine Datei geöffnet, aber leider schliesst sich jetzt die Datei mit dem Makro.
Es läuft halt so ab, dass das Makro sagt:

- Öffne Datei xy
- Kopiere den Inhalt von xy in die Makro-Datei
- Schliesse die aktive Datei (was dann leider die Makro-Datei ist).

Das Makro müsste irgendwie wieder die zu öffnende Datei aktivieren und dann schliessen, ohne sich selbst zu schliessen.
 
Also damit hab ich es bei mir gerade probiert und es wird die richtige Datei geschloßen:

Code:
öffnen = Application.Dialogs(xlDialogOpen).Show

If öffnen = True Then
    'Dateinamen zwischenspeichern
    dateiname$ = ActiveWorkbook.Name

    'kopieren und bearbeiten der Datei, ich geb hier halt mal ne Meldung aus
    MsgBox "Die aktive Datei hat den Namen " & dateiname$
    
    'Datei wieder schließen
    Application.Windows(dateiname$).Close
ElseIf öffnen = False Then
    Exit Sub
End If
 
Zurück