Herbers Excel-Forum - das Archiv

Makro ergänzen zur Dateieingabe

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

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
Bild

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


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/

Bild

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
Bild

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
Bild

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
 Bild