Textdatei in Excel oeffnen

Hallo zusammen,

ich stehe auf dem Schlauch. Ich will ein Makro schreiben, dass mir Textdateien in Excel oeffnet, wobei die einzelnen Spalten in der Textdatei durch Leerzeichen getrennt sind. Also sowas wie :
Workbooks.OpenText Filename:= _
„C:\Ralph\name.txt“, Origin:=xlWindows, _
StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 2), Array(14 _
, 1), Array(24, 1), Array(41, 1))

Die arrays kann ich festlegen, weil alle textdateien gleich aufgebaut sind. Aber: Wie schaffe ich es denn jetzt, dass der Name der Datei, die ich oeffnen will, ueber das normale Datei oeffnen Fenster gesteuert werden kann. Ihr wisst schon, so dass ich mit der Maus auf die entsprechenden Verzeichnisse und ganz am Schluss auf die datei klicke, die ich oeffnen will. Wisst ihr was ich meine???

fragende Gruesse

Ralph

Hallo zusammen,

ich stehe auf dem Schlauch. Ich will ein Makro schreiben, dass
mir Textdateien in Excel oeffnet, wobei die einzelnen Spalten
in der Textdatei durch Leerzeichen getrennt sind. Also sowas
wie :
Workbooks.OpenText Filename:= _
„C:\Ralph\name.txt“, Origin:=xlWindows, _
StartRow:=1, DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0, 2), Array(14 _
, 1), Array(24, 1), Array(41, 1))

Die arrays kann ich festlegen, weil alle textdateien gleich
aufgebaut sind. Aber: Wie schaffe ich es denn jetzt, dass der
Name der Datei, die ich oeffnen will, ueber das normale Datei
oeffnen Fenster gesteuert werden kann. Ihr wisst schon, so
dass ich mit der Maus auf die entsprechenden Verzeichnisse und
ganz am Schluss auf die datei klicke, die ich oeffnen will.
Wisst ihr was ich meine???

Also noch ein erklaerungsversuch:

Das Oeffnen geht natuerlich per Application.Dialogs(xlDialogOpen).Show „C:\eigene Dateien“ nur als Beispiel. wenn ich jetzt eine bestimmte Datei in einem bestimmten Verzeichnis anklicke, wie kann ich den Pfad dieser Datei in eine Variable schreiben und in Workbook.OpenText Filename:= einlesen?
fragende Gruesse::Ralph

hallo ralph,

ich glaube nicht, das du einen wert aus dem dialog auslesen kannst.

nach dem öffnen kannst du aber den pfad der aktuell geöffneten datei einlesen:

application.ActiveWorkbook.Path

grüße

rasta

http://www.vba-forum.de

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rasta

ich glaube nicht, das du einen wert aus dem dialog auslesen
kannst.

nach dem öffnen kannst du aber den pfad der aktuell geöffneten
datei einlesen:

application.ActiveWorkbook.Path

Es gibt also keinen Weg ein Makro so zu programmieren, dass der User ueber eine Maske angibt, welche Textdatei geoeffnet werden soll und diese dann wie oben beschrieben geoeffnet wird??? Kaum zu glauben. Trotzdem Danke

Ralph

hallo ralph,

entweder du schreibst so eine file-open-form selbst…

oder du verwendest den dialog, schliesst den textfile gleich wieder und liest dir nur die workbook-path-variable aus… dann öffnest du sie wie du möchtest…

am besten dann excel. auf screenupdating = false stellen

grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

rasta,

und daemlich bin ich auch! Ich kann die normale open-form aufrufen. Wenn diese Datei offen ist, laeuft trotzdem im Hintergrund das Makro der anderen Datei weiter, wo liegt also das Problem???
Manchmal sieht man den Wald vor laeuter Baeumen nicht.

Trotzdem Danke

Ralph

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]