Wypełnij arkusz kalkulacyjny plikami w folderze

1

Muszę zarządzać wieloma plikami w folderze związanym z projektem, w tej chwili te pliki znajdują się w Dropbox. Dlatego chcę znaleźć sposób, w jaki arkusz kalkulacyjny może się zapełniać nazwami plików w folderze, w ten sposób mogę dodawać kolumny z komentarzami, datami, statusem itp. Związane z tymi plikami i mogę łatwo zarządzać, które mają pewne warunki, które przygotowują ich do kolejnych kroków.

Może mi się zdarzyć, że pliki zostaną również dodane lub usunięte z folderu.

Czy istnieje sposób na osiągnięcie tego za pomocą Excela lub Arkusza Google? Nie ma problemu, jeśli repozytorium plików to Dropbox, OneDrive, Dysk Google itp., O ile ma opcję udostępniania.

Dzięki,

Orlando Lopez
źródło

Odpowiedzi:

0

Dwa szybkie sposoby na rozpoczęcie pracy (prawdopodobnie będziesz chciał je rozwinąć, aby ułatwić aktualizację).

Za pomocą CMD i polecenia DIR możesz szybko uzyskać listę bazową plików, z którą możesz zacząć pracować. Użyj następującego polecenia:

dir /b > output.csv

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Alternatywnie (jeśli chcesz móc aktualizować listę i pracować z nią) przygotowałem szybki przykład VBA. Oczywiście mogą być konieczne poprawki, ale oto podstawa:

Sub PopulateRows()
    Dim objFSO, objFolder, colFiles, objFile, FindValue
    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.GetFolder("C:\Users\Jonno\Dropbox\Public")
    Set colFiles = objFolder.Files

    Dim curRow

    curRow = FindFirstEmptyRow

    For Each objFile In colFiles
        Set FindValue = Range("A:A").Find(objFile.Name)
        If FindValue Is Nothing Then
            Range("A" & curRow).Value = objFile.Name
            Range("B" & curRow).Value = objFile.Size
            Range("C" & curRow).Value = objFile.DateCreated
            Range("D" & curRow).Value = objFile.DateLastModified
            curRow = curRow + 1
        End If
    Next
End Sub

Function FindFirstEmptyRow()
    Dim curRow
    curRow = 1
    Do
        If IsEmpty(Range("A" & curRow).Value) Then
            FindFirstEmptyRow = curRow
            Exit Function
        End If
        curRow = curRow + 1
    Loop
End Function

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

To nazwa pliku, rozmiar, data utworzenia i data modyfikacji.

Pamiętaj, że VBA doda nowe pliki, ale obecnie nie ma logiki do usuwania elementów, więc może być konieczna zmiana, jeśli go używasz.

Nie jestem pewien, czy przyda ci się to, ale mam nadzieję, że podsunie ci kilka pomysłów.

Jonno
źródło