Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo, meine Anwendungsentwicklerkollegin hat die Aufgabe bekommen, in einer Exeltabelle einen Pfad anzugeben habe und ich nun in diesem Ordner alle Unterordner nach *workbook*.xls- Dateien zu durchsuchen und diese dann in eine Exeltabelle zu schreiben.

Leider haben weder sie noch ich eine Ahnung wie man da vorgeht... :(

Ich hoffe, es kann mir jemand einen Tip geben!

Danke! :)

Geschrieben

Danke für den Versuch ;) ...liegt wohl daran, daß ich mir selbst nicht ganz folgen kann, da ich mit solchen Problemstellungen normalerweise nichts zu tun habe.

Ich habe mittlerweile folgendes Makro:

Sub DateinamenAuflisten()

Dim Dateiname As String, Pfad As String

Pfad = "d:\"

Dateiname = Dir$(Pfad & "*workbook*.xls")

Do While Dateiname <> ""

ActiveCell = Dateiname

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:= _

Pfad & Dateiname, TextToDisplay:=Dateiname

ActiveCell.Offset(1, 0).Activate

Dateiname = Dir$()

Loop

End Sub

Das listet jetzt alle xls-Dateien in d:\, in denen "workbook" vorkommt in eine Tabelle und verlinkt sie mit dem entspechenden Dokument.

Leider soll das 1. auch für alle Unterordner passieren, 2. soll anstatt des Dateinamens der Name des Ordners, in dem die Datei liegt angegeben sein (der Link aber auf die Datei) und 3. soll letztendlich der Inhalt dieser Datei in dem Sheet dargestellt werden, das die Tabelle mit der Liste enthält!

Vielleicht kannst Du mir ja einen Tip geben?!

Wäre super, ich komm' echt nicht weiter!

Geschrieben

Hallo!

So kann man zumindest unter Access mit VBA nach Dateien suchen, vielleicht hilft das weiter:


With Application.FileSearch

        .NewSearch

        .LookIn = Pfad

        .SearchSubFolders = False

        .FileName = "Entladebericht"

        .MatchTextExactly = True

        .FileType = msoFileTypeExcelWorkbooks

If .Execute() > 0 Then

        MsgBox "There were " & .FoundFiles.Count & _

            " file(s) found."

        For i = 1 To .FoundFiles.Count

            MsgBox .FoundFiles(i)

        Next i

    Else

        MsgBox "There were no files found."

    End If

End With

Gruß

JNeudorf

Geschrieben

Ja, das ist wirklich cool, so kann ich sehr leicht alle Unterordner mitdurchsuchen, das Einbinden der Verlinkung war auch kein Problem.

Heißen Dank für den Code, langsam nimmt die ganze Sache Gestalt an :) !

Nur steht jetzt in der Tabelle nicht mehr bla.xls, sondern d:\pfad\zur\datei\ordner\bla.xls, es sollte aber (in diesem Fall) ordner da stehen, also der nächstübergeordnete Ordner...

Vielleicht weiß da auch jemand Rat?

Geschrieben

hi,

ungetested aus der erinnerung:

 

dim i as integer

dim path as string

dim filename as string

dim sep as string

dim ret as string


sep = "\" 

path = getCompletePatch() 'hier den ausgelesenen pfadnamen merken

filename = getFilename() 'hier den dateienemen speichern

filename = sep & filename

i = instrrev(path, sep, len(filename))

ret = mid(path, i, len(path) - i - len(filename)

sollte so oder so aehnlich gehen

hoffe, es hilft...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...