Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Dateiname und Platzhalter
01.12.2005 15:31:20
Bernd
Hallo,
kann ich an CreateObject("Scripting.FileSystemObject")
einen Dateinamen mit Platzhalter übergeben ?
Falls negativ - irgendwo in den Weiten des Netzes habe
ich 'mal ein Beispiel gesehen, mit >Dir nach Fragmenten des Dateinamens zu suchen.
Brauchte ich damals nicht und nicht gemerk. Nun brauche ich
so etwas und finde es nicht wieder.
Evtl. hat jemand etwas passendes in seiner Makrosammlung.
Wäre eine große Hilfe für mich.
Danke sehr und Gruß
Bernd

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiname und Platzhalter
01.12.2005 15:45:30
Rolf
Hallo Bernd,
da musst du auf das FileSearch-Objekt ausweichen.
fG
Rolf
AW: Dateiname und Platzhalter
01.12.2005 16:25:18
Bernd
Hallo Rolf,
Dein Hinweis ist natürlich richtig.
Wegen besonderer Umstände leider in diesem Fall nicht anwendbar.
Ich zerbastel mir auch nur ungern meinen bisherigen Code,
muss aber auf die Eingangs erwähnten Alternativen ausweichen.
(Falls es nicht noch andere gibt, die sich mir im Moment
nicht erschliessen)
AW: Dateiname und Platzhalter
01.12.2005 17:31:27
Reinhard
Hi Bernd,
close
open "c:\such.bat" for output as #1
print #1, "dir c:\Dateien\*.csv /s/b > c:\dateiensuch.txt"
close
shell("c:\such.bat")
open c:\such.bat" for input as #1
while not eof(1)
input #1, PfadDateiname
zei=zei+1
cells(zei,1)=PfadDateiname
wend
/s = mit Unterverzeichnissen
/b = Zusammenfassung ohne Vorspann

Gruß
Reinhard
Anzeige
AW: Dateiname und Platzhalter
01.12.2005 18:02:48
Bernd
Hallo Reinhard,
mein Fehler - ich hätte darauf hinweisen sollen,
dass ich das Problem am Arbeitsplatz habe und leider
nicht alle Möglichkeiten zur Verfügung stehen.
Na ja, das wohl schon - die Ausführung aber durch die
Administration unterbunden wurd.
Ein toller Weg von Dir, leider aber auch nicht umsetzbar.
FileSearch war bis vor kurzem in Gebrauch, aber nach der
Umstellung auf 2003 produziert dieser Aufruf Fehler.
Irgendwo geistert hier auch ein Kollege von mir rum und
versucht die Ursache zu finden.
Mein Part ist es einen Ersatz zu finden ( eben der Versuch
fso oder Dir) um die Anwendung wieder nutzen zu können.
Bislang aber beide mit mäßigem Erfolg ;-)
Aber Danke für die Mühe
Bernd
Anzeige
AW: Dateiname und Platzhalter
01.12.2005 18:23:39
Matthias
Hallo Reinhard,
aber Dir() geht doch:

Sub test()
Dim fn As String
fn = Dir("C:\windows\*.exe")
Do While fn <> ""
Debug.Print fn
fn = Dir()
Loop
End Sub

Gruß Matthias
AW: Dateiname und Platzhalter
01.12.2005 18:45:42
Bernd
Hi Matthias,
wenn ich Dich richtig verstanden habe würde folgendes funktionieren :
Meine Dateien sind alle in der Syntax
BuchstabeBuchstabe123456IrgendeinText.xls
Bekannt ist immer die Ziffernfolge.
Natürlich kann ich aus dem String die Ziffern isolieren.
An das Len-Left-Right Konstrukt habe ich mich bislang nur nicht
'rangemacht weil mir mehrfach gesagt wurde, dass das Ergebnis mit Dir()
nicht zu verwenden sei. Bin ich da etwa einem Irrglauben erlegen ?
Anzeige
AW: Dateiname und Platzhalter
01.12.2005 19:56:36
Matthias
Hallo Bernd,

Sub test()
Const Vezeichnis = "C:\Test"
Dim fn As String
fn = Dir(Verzeichnis & "\?123456*.xls")
Do While fn <> ""
Debug.Print fn
fn = Dir()
Loop
End Sub

Wenn dann noch falsche Dateien dabei sind (weil am Anfang nicht auf Buchstaben geprüft wird, nur auf 2 Zeichen vor der Ziffernfolge), müsstest du die noch anderweitig beseitigen.
Gruß Matthias
AW: Dateiname und Platzhalter
01.12.2005 20:47:25
Bernd
Sauber, das hier
> & "\?123456*.xls") muß ich mir unbedingt klauen ;-))
Ich denke, dass wird ein erfolgreicher Freitag werden.
Vielen Dank für Deine Mühen mit mir.
Bernd
Anzeige
Nachtrag
01.12.2005 18:50:56
Bernd
Damit suchst/findest Du ja alle Dateien (exe in dem Beispiel)
Ich suche aus dem Haufen eine bestimmte und kenne nur einen Teil
des Dateinamens.
Das wird sicher ein kleiner Unterschied sein ?
gelöst
01.12.2005 19:51:26
Bernd
das war offensichtlich die initialzündung ;-)
so in etwa wird es aussehen ( funktioniert schon )
i = 0
Datei = Dir(SERVER & PFAD_ZW_KONTEN_AKTUELL)
Do Until Datei = ""
If Right(Left(Datei, 8), 6) = Right(Environ("USERNAME"), 6) Then
ChDir SERVER & PFAD_ZW_KONTEN_AKTUELL
Workbooks.Open Filename:= _
SERVER & PFAD_ZW_KONTEN_AKTUELL & Datei
Exit Do
End If
i = i + 1
Datei = Dir
Loop
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige