VBA-Experten gefragt - Problem mit Excel-Makro (Office2000) :o) [erledigt]



  • Hallo Gemeinschaft,

    derzeit plagt mich ein Problem auf einem Gebiet das für mich Neuland ist: Visual Basic for Applications (VBA). Das Problem ist mit wenigen Worten beschrieben:
    Ich habe in MS Excel ein Makro aufgezeichnet, welches eine Textdatei importiert und Trennzeichen etc. setzt. Dieses Makro lädt nun immer diesselbe Textdatei, wie aufgezeichnet. Ich hätte aber gern, dass sich ein Dialog öffnet in dem ich die Textdatei auswählen kann. Diese soll dann automatisch mit der im Makro gesicherten Formatierung importiert werden. Der Makro-Quelltext sieht so aus:

    Sub Txt_Import()
    '
    ' Txt_Import Makro
    ' Test 5 - Textdatei importieren
    '
    
    '
        With ActiveSheet.QueryTables.Add(Connection:= _
            "TEXT;<Pfad und Name>", _
            Destination:=Range("A1"))
            .Name = "TD4001_0000000054"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = xlWindows
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierNone
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2)
            .Refresh BackgroundQuery:=False
        End With
    End Sub
    

    Ich bin absolut VBA-unwissend. Wie stelle ich es an, dass sich bei Makroausführung ein Dialog öffnet in dem ich eine Textdatei auswähle? Der Name und Pfad der Datei soll dann bei Connection:= <Pfad und Name> eingesetzt werden...

    Folgendes konnte ich schon herausfinden:

    Dim filepathandname As String
    

    So erstelle ich eine String-Variable.

    With ActiveSheet.QueryTables.Add(Connection:= "TEXT;" & filepathandname, _
    

    So müsste ich wohl den String mit Datei-Pfad und -Name dann einsetzen.

    Application.Dialogs(xlDialogFindFile).Show
    

    Zeigt mir einen Dialog an, in dem ich eine Datei auswählen kann, aber die Zeile führt immer zu einem Fehler 1004 (wars glaube ich).

    Das ist mein Kenntnisstand den ich heut' erworben hab - mir fehlt "nur" der Brückenschlag, wie ich den richtigen Dialog aufrufe und daraus einen String mit Pfad und Dateiname bekomme. 😞

    Kann mir jemand weiterhelfen?

    MfG

    Edit: Da wo im Makro-Code "TD4001_0000000054" steht hätte ich dann gerne den Namen der Textdatei ohne das .txt.

    Edit 2: Thread-Titel mit "erledigt" gekennzeichnet 😉



  • Ok, Ok - "Experten gefragt" war etwas übertrieben... VBA ist ja total einfach 🙂 Hab's gelöst!
    Abgesehen davon war das wohl einfach nicht das richtige Forum, aber hätt' ja sein könn dass jemand was weiß... 😉

    [Closed]

    MfG


Anmelden zum Antworten