Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Makro ergänzen zur Dateieingabe

    Betrifft: Makro ergänzen zur Dateieingabe von: Marco
    Geschrieben am: 29.09.2003 14:07:50

    Hi Leute

    ich habe ein Makro mit dem Makrorekorder aufgezeichnet, die mir eine .csv Datei in die Tabelle einfügt.
    Nun meine Frage:
    Gibt es die Möglichkeit, dass wenn man das Makro startet nicht automatisch die angegebene Datei eingefügt wird, sondern eine Art Datei Eingabefenster (Explorer oder Eingabefeld für Pfad und Dateimane) erscheint?

    Hier das Makro:


    Sub import()
    
        Range("B10").Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\import.csv", _
            Destination:=Range("B10"))
            .Name = "Import"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    
    End Sub
    



    Danke für Eure Hilfe
    Marco
      


    Betrifft: AW: Makro ergänzen zur Dateieingabe von: Hajo_Zi
    Geschrieben am: 29.09.2003 15:00:37

    Hallo Marco

    schaue mal in die Hoilfe unter Inputbox

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.

    Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

    Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
    Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
    Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
    Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.


    http://home.media-n.de/ziplies/



      


    Betrifft: AW: Makro ergänzen zur Dateieingabe von: geri
    Geschrieben am: 29.09.2003 17:37:34

    Hallo Marco meinst du so

    Range("B10").Select

    Dim fileToOpen As String
    fileToOpen = Application _
    .GetOpenFilename("Text Files (*.txt), *.txt")
    MsgBox "Open " & fileToOpen


    With ActiveSheet.QueryTables.Add(Connection:="TEXT;fileToOpen", _
    Destination:=Range("B10"))
    .Name = fileToOpen


    gruss geri


      


    Betrifft: AW: Makro ergänzen zur Dateieingabe...aber.... von: Marco
    Geschrieben am: 30.09.2003 09:04:03

    Hi Geri,

    danke für deine Hilfe, aber es funktioniert noch nicht ganz. Er bringt mir noch Fehler. Ich hab noch mal das gesamte Makro eingefügt. Vieleicht kannst du mir ja nochmal helfen.
    In der MessageBox wird zwar die Datei angezeigt, aber später nicht eingefügt.

    Hier das Makro:

    Sub import()
    '
    ' import Makro
    Range("B10").Select
    
    Dim fileToOpen As String
    fileToOpen = Application _
    .GetOpenFilename("Text Files (*.csv), *.csv")
    MsgBox "Open " & fileToOpen
    
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;fileToOpen", _
    Destination:=Range("B10"))
    .Name = fileToOpen
        
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    End Sub
    



    Danke
    Marco


      


    Betrifft: AW: Makro ergänzen zur Dateieingabe...aber.... von: geri
    Geschrieben am: 02.10.2003 17:15:07

    Hallo Marco

    so geht es aber denke ich

    Sub test()
    
    Dim textdatei As Variant
    
    textdatei = Application.GetOpenFilename("Text Files (*.txt), *.txt")
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & textdatei, _
        Destination:=Range("A1"))
        'MsgBox "Open " & textdatei
    
            .Name = textdatei
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlOverwriteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = False
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    
    End Sub
    


    gruss geri