Microsoft Excel

Herbers Excel/VBA-Archiv

Datei aufrufen

Betrifft: Datei aufrufen von: Barbara
Geschrieben am: 18.09.2004 13:57:49

Ich würde gerne folgendes Makro erstellen:

Ein txt-file in die Tabelle laden, sodass jede Zeile dieses Files in nur einer Zelle in Spalte A steht.

1. Teil:
Das Makro soll im Fenster "Datei öffnen" stehen bleiben und Dateien eines bestimmtes Verzeichnisses anzeigen, und zwar alle, nicht nur die xls-Dateien, weil der Anwender oder die Anwenderin ja ein txt-File wählen muss.

2. Teil
Dann sollen die Zeilen dieses Files wie oben beschrieben in die Tabelle reinkopiert werden. Wenn man das händisch macht, muss man durch mehrere Fenster eines "Text-Editors" durch, in dem man angibt, wie der Inhalt in die Tabelle soll (Trennzeichen, usw.)

Den ersten Teil könnte ich mit dem Makro-Editor machen, aber beim 2. Teil hätte ich gerne eine VBA-Lösung gefunden, weil dieser Text-Assistent in den verschiedenen Excel-Versionen sicher unterschiedlich ist und deshalb in einer anderen Version als meiner (Excel 97) nicht laufen könnte. Außerdem wäre eine Abwicklung über VBA (auch für den ersten Teil meines Problems) sicher eleganter.

Danke. Barbara

  


Betrifft: AW: Datei aufrufen von: ransi
Geschrieben am: 18.09.2004 16:21:33

hallo barbara

nimm doch mal den GANZEN vorgang mit dem recorder auf und poste mal den code.
"Wenn man das händisch macht..." nimmt der recorder das auf und man weiß hier anhand des codes wie das textfile aufgebaut ist.

ransi


  


Betrifft: AW: Datei aufrufen von: Barbara
Geschrieben am: 18.09.2004 17:24:08

Hallo Ransi

hab mich nicht klar ausgedrückt oben: Mit Makro-Editor habe ich natürlich den Makro-Rekorder gemeint.

Hab es nun gemacht, und hier ist er Code.
Es soll nun nicht genau diese Datei aufgerufen werden, sondern eine, die der Benuter selbst aussucht, ausgehend von einem vorgegebenen Verzeichnis. Da soll sich dann dann der Benutzwer selbst weiter navigieren.
Und da, glaube ich, liegt der und begraben.


Sub Makro1()
'
' Makro1 Makro
' Makro am 18.09.04 von Barbara aufgezeichnet
'

'
    ChDir "C:\Programme\Parade\Hand\Tagesdaten\20040909"
    Workbooks.OpenText FileName:= _
        "C:\Programme\Parade\Hand\Tagesdaten\20040909\Protokoll13.txt" _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1)
End Sub



  


Betrifft: AW: Datei aufrufen von: ransi
Geschrieben am: 18.09.2004 17:42:44

hallo barbara

versuch mal so:
Public
Sub machauf()
Dim filetoopen
filetoopen = Application.GetOpenFilename
If filetoopen = False Then Exit Sub
Workbooks.OpenText Filename:= _
        filetoopen _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1)
End Sub

gruß ransi


  


Betrifft: AW: Datei aufrufen von: Barbara
Geschrieben am: 18.09.2004 18:32:43

Danke, das geht.

Diese Funktion filetoopen kenne ich nicht. Steht das vielleicht irgendwo?
Wie kann ich ein Verzeichnis vorschlagen?

LG, B.


  


Betrifft: GetOpenFilename von: ransi
Geschrieben am: 18.09.2004 18:48:09

hallo barbara

filetoopen ist eine variable.
die hätte ich auch barbara oder xy oder was weiss ich nennen können.
worauf es hier ankommt ist "application.GetOpenFilename".
das ist der öffnen Dialog.
"If filetoopen = False Then Exit Sub" heisst nichts anderes als das:
wenn im dialog "abbrechen" angeklickt wird dann verlass das makro.
wonach du in der VBA-hilfe suchen musst ist also "GetOpenFilename".
freut mich wenn ich helfen konnte.
gruß ransi


 

Beiträge aus den Excel-Beispielen zum Thema "Datei aufrufen"