Unterordner auslesen

Antwort erstellen

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :razz: :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :badgrin: :doubt:
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Unterordner auslesen

Re: Unterordner auslesen

Beitrag von snb » 14. Sep 2021, 20:05

Mwah, that's exactly what it is doing.

Code: Alles auswählen
Sub M_snb()
   sn= split(createobject("wscript.shell")exec("cmd /c dir G:\*.* /b/s").readall,vbcrlf)
   sheet1.cells(1).resize(ubound(sn)+1)=application.transpose(sn)
End Sub

Re: Unterordner auslesen

Beitrag von wut » 14. Sep 2021, 18:09

@snb

danke für den Tipp, aber ich bräuchte die Inhalte im Excel.

Danke
Marcus

Re: Unterordner auslesen

Beitrag von snb » 09. Sep 2021, 20:25

Dann teste es mal.

Re: Unterordner auslesen

Beitrag von wut » 09. Sep 2021, 20:09

@Nepumuk hey alles gut - ich bin dir für alles dankbar.

@snb ne leider kenne das nicht.

@all habe jetzt die Links über dein Auslese-Makro aufgelistet und lasse da drüber ein 2tes Makro laufen was Hyperlinks zu den Ordner erstellt. Es ist nicht schön aber es funktioniert


Danke an alle

Re: Unterordner auslesen

Beitrag von snb » 09. Sep 2021, 09:30

Hast du je versucht ?

Code: Alles auswählen
Sub M_snb()
   msgbox createobject("wscript.shell")exec("cmd /c dir G:\*.* /b/s").readall
End Sub


Aber das grundsetzliche Problem ist, dass du die Daten gesplittet hast in Dateien.
Es wäre besser eine ordentliche Databasestruktur in eimen Arbeitsblatt zu erstellen.
Dann braucht man nur zu Filtern.
Exotische VBA ist dann überflüssig.

'Structuring precedes coding'

Re: Unterordner auslesen

Beitrag von Nepumuk » 09. Sep 2021, 07:15

Hallo Marcus,

tut mir leid, aber ich habe keine Ahnung was da schief läuft.

Re: Unterordner auslesen

Beitrag von wut » 08. Sep 2021, 19:13

Hallo Nepumuk

ja schon, aber wenn ich die Zeichen anpasse geht der Link zu den Dateien trotzdem nicht.

zu den Ordnern ja

Re: Unterordner auslesen

Beitrag von Nepumuk » 08. Sep 2021, 18:46

Hallo Marcus,

siehst du den Unterschied nicht? / \

Re: Unterordner auslesen

Beitrag von wut » 08. Sep 2021, 18:25

eine Frage habe ich noch,

wenn ich im Excel mit einen Hyperlink zu einem Ordner erstelle funktioniert das wenn ich es als Web abspeichere, erstelle ich aber einen Link auf eine Datei geht es nicht?

link auf Datei ../4.4%20Prozesse%20IATF%2016949%20ISO%209001%20Prozesslandschaft/A1%20Strategie%20und%20Management/Eskalationsmatrix.xlsx
link auf Ordner ..\4.4%20Prozesse%20IATF%2016949%20ISO%209001%20Prozesslandschaft\A1%20Strategie%20und%20Management

an was kann das liegen?

Re: Unterordner auslesen

Beitrag von wut » 08. Sep 2021, 18:01

ok,

werde es mal versuchen den Code zu verstehen und das auf Ordner umstricken, muss ja was dazu lernen nicht immer nur stehlen.

Danke für die Zeit und Hilfe

bin mir sicher melde mich spätestens in 2 Tagen mit der nächste Hilfefrage

Gruß
Marcus

Re: Unterordner auslesen

Beitrag von Nepumuk » 08. Sep 2021, 16:45

Hallo Marcus,

Würde das eigentlich auch mit Ordner funktionieren?


Klar.

Re: Unterordner auslesen

Beitrag von wut » 08. Sep 2021, 16:37

@Nepumuk

läuft genial. Danke

Das bedeutet solange ich die Ordnerstruktur in dem Ordner wo das Excel liegt nicht verändere - funktionieren die Links immer? einfach spitze

Würde das eigentlich auch mit Ordner funktionieren?


Bin echt tief in deiner Schuld danke

gruß
Marcus

Re: Unterordner auslesen

Beitrag von Nepumuk » 08. Sep 2021, 16:16

Hallo Marcus,

so ok?

Code: Alles auswählen
Option Explicit

Public Sub CreateHyperlinks()

    Dim astrFolders() As String, strFilename As String, strFoder As String
    Dim ialngFolders As Long, lngRow As Long
    Dim objFileDialog As FileDialog

    Set objFileDialog = Application.FileDialog(msoFileDialogFolderPicker)

    With objFileDialog
        .AllowMultiSelect = False
        .Title = "Order auswählen"
        If .Show Then strFoder = .SelectedItems(1) & "\"
    End With

    Set objFileDialog = Nothing

    If strFoder <> vbNullString Then

        Call Columns("A:B").ClearContents

        astrFolders = GetFolders(strFoder)

        For ialngFolders = LBound(astrFolders) To UBound(astrFolders)

            strFilename = Dir$(astrFolders(ialngFolders) & ".")

            Do Until strFilename = vbNullString

                lngRow = lngRow + 1

                Cells(lngRow, 1).Value = strFilename
                Call Cells(lngRow, 2).Hyperlinks.Add(Anchor:=Cells(lngRow, 2), Address:= _
                    astrFolders(ialngFolders) & strFilename, ScreenTip:=strFilename, TextToDisplay:=strFilename)

                strFilename = Dir$

            Loop
        Next
    End If
End Sub

Private Function GetFolders(ByVal pvstrPath As String) As String()
    Dim astrFolders() As String
    Dim strFolder As String, strPath As String
    Dim ialngIndex1 As Long, ialngIndex2 As Long
    ReDim Preserve astrFolders(ialngIndex1)
    astrFolders(ialngIndex1) = pvstrPath
    ialngIndex1 = 1
    ialngIndex2 = 1
    strPath = pvstrPath
    Do
        strFolder = Dir$(PathName:=strPath & "*", Attributes:=vbDirectory)
        Do Until strFolder = vbNullString
            If strFolder <> "." And strFolder <> ".." Then
                If GetAttr(PathName:=strPath & strFolder) And vbDirectory Then
                    ReDim Preserve astrFolders(0 To ialngIndex1)
                    astrFolders(ialngIndex1) = strPath & strFolder & "\"
                    ialngIndex1 = ialngIndex1 + 1
                End If
            End If
            strFolder = Dir$
        Loop
        If ialngIndex1 = ialngIndex2 Then Exit Do
        strPath = astrFolders(ialngIndex2)
        ialngIndex2 = ialngIndex2 + 1
    Loop
    GetFolders = astrFolders
End Function

Re: Unterordner auslesen

Beitrag von wut » 08. Sep 2021, 15:45

Hallo Nepumuk,

ich dachte absolut heißt c:\ordner\ordner\test.txt
wenn ich dich verstanden habe würde dann das C keine Rolle spielen?

Das wäre natürlich super.

Zur Erklärung:

Hier im Verein habe ich für jeden Schützen einen Ordner mit seinen Stammblatt und noch 2-3 andere Dateien

Jetzt wäre es schick wenn ich da drauf über ein Excelblatt zugreifen könnte ohne jedesmal die Links neu zu machen wenn ein neuer kommt.

Somit könnte ich die Ordner und Unterordner auslesen lassen und mit zu den Dateien einen Link basteln.

Und wenn ich das noch auf nen Stick packen könnte und es funktioniert wäre genial.

Ein Makro, wo ich den Hauptordner auswählen kann und in diesem werden dann alle Unterordner ausgelesen und alle Dateien (xlsm und pdf und jpeg) werden mit einem Link in der Datei angezeigt wäre genial.

Wohin muss das Bier?


Vielen lieben Dank im Voraus
Marcus

Re: Unterordner auslesen

Beitrag von Nepumuk » 08. Sep 2021, 14:38

Hallo Marcus,

was meinst du mit dynamisch? Einen Pfad aus einer Excelzelle oder einen Dialog zum auswählen des Ordners?

Ich kann die die Pfade der Hyperlinks absolut machen so dass es keine Rolle spielt wo sich die Mappe befindet.

Nach oben