Preencher planilha com arquivos dentro de uma pasta

Preencher planilha com arquivos dentro de uma pasta

Preciso gerenciar muitos arquivos dentro de uma pasta relacionada a um projeto, no momento esses arquivos residem no Dropbox. Então, gostaria de encontrar uma maneira de fazer com que uma planilha se preencha com os nomes dos arquivos dentro da pasta, dessa forma eu possa adicionar colunas com comentários, datas, status, etc. gerenciar facilmente que possuem certas condições que os preparam para os próximos passos.

Pode ser que os arquivos também sejam adicionados ou removidos da pasta.

Existe uma maneira de fazer isso através do Excel ou talvez do Google Spreadsheet? Não é problema se o repositório de arquivos for Dropbox, OneDrive, Google Drive, etc., desde que tenha opção de compartilhamento.

Obrigado,

Responder1

Duas maneiras rápidas de começar (você provavelmente desejará expandi-las para permitir uma atualização mais fácil).

Usando o CMD e o comando DIR, você pode obter rapidamente uma lista básica de arquivos com os quais pode começar a trabalhar. Use o seguinte comando:

dir /b > output.csv

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Como alternativa (como você deseja atualizar a lista e trabalhar com ela), reuni um exemplo rápido de VBA. Claro, pode haver alterações que você precisará fazer, mas aqui está uma base:

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

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Esse é o nome do arquivo, tamanho, data de criação e data de modificação.

Observe que o VBA adicionará novos arquivos, mas atualmente não tem lógica para remover itens, portanto, pode ser necessário alterá-lo se usá-lo.

Não tenho certeza se isso será útil para você, mas espero que lhe dê algumas idéias.

informação relacionada