Заполните электронную таблицу файлами в папке


1

Мне нужно управлять множеством файлов в папке, связанной с проектом, в данный момент эти файлы находятся в Dropbox. Итак, я хотел бы найти способ, с помощью которого я могу заполнить электронную таблицу именами файлов в папке, чтобы я мог добавлять столбцы с комментариями, датами, состоянием и т. Д., Относящимися к этим файлам, и мог легко управлять, которые имеют определенные условия, которые готовятся к следующим шагам.

Может случиться так, что файлы также добавляются или удаляются из папки.

Есть ли способ сделать это через Excel или, возможно, Google Spreadsheet? Это не проблема, если в качестве хранилища файлов выбраны Dropbox, OneDrive, Google Drive и т. Д., Если в нем есть опция общего доступа.

Спасибо,

Ответы:


0

Два быстрых способа начать работу (возможно, вы захотите расширить их, чтобы упростить обновление).

Используя CMD и команду DIR, вы можете быстро получить базовый список файлов, с которыми вы можете начать работать. Используйте следующую команду:

dir /b > output.csv

enter image description here

enter image description here

В качестве альтернативы (поскольку вы хотите иметь возможность обновлять список и работать с ним), я собрал быстрый пример VBA. Конечно, могут потребоваться изменения, но вот основа:

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

enter image description here

enter image description here

Это имя файла, размер, дата создания и дата изменения.

Обратите внимание, что VBA добавит новые файлы, но в настоящее время не имеет логики для удаления элементов, поэтому вам может потребоваться изменить его, если вы его используете.

Не уверен, что это будет вам полезно, но, надеюсь, даст вам некоторые идеи.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.