Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Dateiabfrage inkl. aller Unterverzeichnisse

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Dateiabfrage inkl. aller Unterverzeichnisse (1634 mal gelesen)
HAKL
Mitglied



Sehen Sie sich das Profil von HAKL an!   Senden Sie eine Private Message an HAKL  Schreiben Sie einen Gästebucheintrag für HAKL

Beiträge: 32
Registriert: 14.10.2005

MicroStation 8.05.02.56
ViegaCAD 5.0

erstellt am: 06. Dez. 2006 20:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo VBA-Anwender,
ich erarbeite mir gerade ein VBA-Lehrbuch und  möchte eine
Dateiabfrage in einem Verzeichnis inkl. aller Unterverzeichnisse tätigen.

Wie muß ich untenstehendes VBA verändern, um dies zu erlangen?

Sub DateienListen()
Dim NächsteDatei As String
Dim i As Integer
Const DateiSuche = "C:\Daten\Zeichnungen\"

Application.StatusBar = "Suchen in " & DateiSuche & "\"
NächsteDatei = Dir(DateiSuche & "\" & "*.dwg")
i = 0

Do Until NächsteDatei = ""
i = i + 1
Cells(i, 1).Value = DateiSuche & "\" & NächsteDatei
Application.StatusBar = DateiSuche & "\" & NächsteDatei
NächsteDatei = Dir()
Loop

Application.StatusBar = False
End Sub

Leider finde ich in der Excel-Hilfe nicht den nötigen Hinweis oder übersehe diesen.
Wünsche Euch eine schöne Adventszeit.


------------------
Gruß Harry

[Diese Nachricht wurde von HAKL am 12. Dez. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 06. Dez. 2006 21:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 06. Dez. 2006 21:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

N'Abend Harry,
wo ist das Problem genau?
Du siehst nichts?
dann füg mal vor Loop ein Application.Wait (Now + TimeValue("0:00:03")) ein ; )

oder willst Du die jetzt auch ein die Liste schreiben?
Tabelle1.Cells(i, 1) = DateiSuche & "\" & NächsteDatei vor NächsteDatei = Dir()

oder ist es so einfach nicht und Du willst eigentlich was anderes(?)

[edit] WOW, oder Du nimmst direkt die Komfort-Ausgabe von Axel!     da reicht der 10-er nich... ich wollte doch vor'm posten immer die F5 drücken...[/edit]
------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

[Diese Nachricht wurde von runkelruebe am 06. Dez. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 06. Dez. 2006 22:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich


Dateisucher.xls.txt

 
Hallo zusammen,

der Dir ist mir zu langsam. Schneller geht's mit dem Filesystemobject, dem FileSearch-Objket und vor allen Dingen mit API. Ihr könnt's ja mal testen.

------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 06. Dez. 2006 22:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 06. Dez. 2006 22:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

Nicht schlecht Nepumuk, läuft viel schneller und ist sicher noch ausbaufähig (z.B. Extension / Dateiauswahl). Es ist aber die Frage was man noch will. Dein Script durchsucht z.B. auch noch die ganzen versteckten Dateien und Ordner hat aber keine Grösseninfos und Datum. Das würde Dein Script sicherlich etwas langsamer machen. Wenn man die Anzeigeinfos in meinem Script noch deaktivieren würde, wäre es sicher auch schneller.

Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HAKL
Mitglied



Sehen Sie sich das Profil von HAKL an!   Senden Sie eine Private Message an HAKL  Schreiben Sie einen Gästebucheintrag für HAKL

Beiträge: 32
Registriert: 14.10.2005

MicroStation 8.05.02.56
ViegaCAD 5.0

erstellt am: 07. Dez. 2006 10:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank für die vielfältigen und schnellen Antworten. 
Axel 's Variante ist perfekt und entspricht meinen Vorstellungen.
Nepumuk 's Variante läuft bei mir nicht, vielleicht liegt es an meiner '97 Version.

Bis ich mein VBA-Lehrbuch erarbeitet habe, kommen sicher noch viele Fragen. Hab also Verständnis für meine Unwissenheit. 

------------------
Gruß Harry

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3728
Registriert: 29.09.2004

Excel 2010
128GB SSD
Windows 7

erstellt am: 07. Dez. 2006 10:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Nepumuk:
der Dir ist mir zu langsam. Schneller geht's mit dem Filesystemobject, dem FileSearch-Objket und vor allen Dingen mit API. Ihr könnt's ja mal testen.

Tolle Sache, funktioniert schnell und zuverlässig. Hatte gestern über 20'0000 Dateien direkt ins Excel eintragen lassen.

Was würde passieren wenn es über 2^16 (65536) Dateien sind, dann gehen dem Excel die Zeilen aus 

------------------
  The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Nepumuk
Mitglied
Entwicklungsleiter


Sehen Sie sich das Profil von Nepumuk an!   Senden Sie eine Private Message an Nepumuk  Schreiben Sie einen Gästebucheintrag für Nepumuk

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 07. Dez. 2006 16:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für HAKL 10 Unities + Antwort hilfreich

Hallo Axel,

Größeninfo und Datum sind kein Problem. Wenn du dir den Typ ansiehst, in den die Daten eingelesen werden, kannst du ja selbst. :-)

Private Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime As FILETIME

    nFileSizeHigh As Long
    nFileSizeLow As Long

    dwReserved0 As Long
    dwReserved1 As Long
    cFileName As String * MAX_PATH
    cAlternate As String * 14
End Type

------------------
Gruß
Nepumuk

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz