Supportnet / Forum / Tabellenkalkulation
Datei öffnen via VB
Frage
Liebe Liste,
gibt es eigentlich eine Möglichkeit per VB eine Datei aufzurufen, bei der lediglich der Namensanfang und das Format bekannt sind?
Beispiel:
In einem Verzeichnis liegen Dateien, die man vor allem durch Ihren Dateinamenanfang auseinanderhalten kann, z.B.:
A_xxxxx.txt
A_xxxxx.doc
B_xxxxx.txt
B_xxxxx.doc
u.s.w.
Die xxxxx können dabei sehr variieren.
Wenn VB nun die Datei A_xxxxx.txt in Excel öffnen möchte und xxxxx unbekannt ist habe ich ein Problem. Gibt es nicht so etwas wie A_*.txt ?
Würde mich über einen Tip sehr freuen.
Grüße
Chrisnelly
Antwort 1 von piano
Hallo
Die Antwort ist relativ einfach!
Gegenfrage: Gibt es ein Windows-(DOS-) Statement mit dem man Dateien über Matchcode öffnen kann ?
AFAIK - nein!
Wenn Du an einer VBA-Lösung interessiert bist, die einen Pfad nach bestimmten Dateien untersucht und in Excel öffnet, kann ich Dir helfen. Melde Dich (aber rasch: bin dann länger auf Urlaub)
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
Die Antwort ist relativ einfach!
Gegenfrage: Gibt es ein Windows-(DOS-) Statement mit dem man Dateien über Matchcode öffnen kann ?
AFAIK - nein!
Wenn Du an einer VBA-Lösung interessiert bist, die einen Pfad nach bestimmten Dateien untersucht und in Excel öffnet, kann ich Dir helfen. Melde Dich (aber rasch: bin dann länger auf Urlaub)
Gruß piano
Es wäre nett, wenn Du ein Feedback abgeben könntest,
ob der Lösungsvorschlag Dein Problem gelöst hat.
- probieren geht über studieren -
Antwort 2 von Chrisnelly
Hallo piano,
ich habe zwar leider keine Ahnung wo von Du sprichst,
aber eines ist ganz sicher: Ich bin an einer Lösung interessiert.
Du hast recht. Man könnte es auch so ausdrücken: Ich suche eine Lösung, die einen Pfad nach bestimmten Dateien untersucht und dann in Excel öffnet ...
Allerdings arbeite ich mit MAC OS-X.
Hoffentlich erwische ich Dich noch vor Deinem Urlaub.
Grüße
Chrisnelly
ich habe zwar leider keine Ahnung wo von Du sprichst,
aber eines ist ganz sicher: Ich bin an einer Lösung interessiert.
Du hast recht. Man könnte es auch so ausdrücken: Ich suche eine Lösung, die einen Pfad nach bestimmten Dateien untersucht und dann in Excel öffnet ...
Allerdings arbeite ich mit MAC OS-X.
Hoffentlich erwische ich Dich noch vor Deinem Urlaub.
Grüße
Chrisnelly
Antwort 3 von piano
Hallo Chrisnelly
Hab zwar keine Ahnung, ob MAC OS-X VBA versteht, aber dennoch der Code:
Gruß piano
Hab zwar keine Ahnung, ob MAC OS-X VBA versteht, aber dennoch der Code:
Public Sub DateiAuswählen()
On Error Resume Next
Dim Verz, DateiName, ret
Dim i As Integer, posBeg As Integer
Verz = InputBox("Verzeichnis eingeben:")
If Verz = "" Then Exit Sub
If Right(Verz, 1) <> "\" Then
Verz = Verz & "\"
End If
With Application.FileSearch
.NewSearch
.LookIn = Verz
.SearchSubFolders = False
.FileType = msoFileTypeExcelWorkbooks
.Execute
posBeg = 1
For i = 1 To .FoundFiles.Count
DateiName = .FoundFiles(i)
ret = DateienÖffnen(DateiName)
Next i
End With
End Sub
Public Function DateienÖffnen(DateiName)
Workbooks.OpenText Filename:= _
DateiName _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _
True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array( _
1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, _
1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array _
(15, 1), Array(16, 1), Array(17, 1), Array(18, 1))
', TrailingMinusNumbers:=True 'Office 97
End Function
Gruß piano