フォルダ内のファイルをスプレッドシートに入力する

フォルダ内のファイルをスプレッドシートに入力する

プロジェクトに関連するフォルダー内の多数のファイルを管理する必要がありますが、現在これらのファイルは Dropbox にあります。そのため、スプレッドシートにフォルダー内のファイル名を自動的に入力する方法を見つけたいと思います。そうすれば、これらのファイルに関連するコメント、日付、ステータスなどの列を追加でき、次のステップの準備をする特定の条件を持つファイルを簡単に管理できます。

フォルダーにファイルが追加されたり、フォルダーから削除されたりする場合もあります。

Excel または Google スプレッドシートを使用してこれを実現する方法はありますか? 共有オプションがある限り、ファイル リポジトリが Dropbox、OneDrive、Google Drive などであっても問題ありません。

ありがとう、

答え1

すぐに始められる 2 つの方法 (更新を容易にするために、これらの方法を拡張する必要があるかもしれません)。

CMD と DIR コマンドを使用すると、作業を開始できるファイルの基本リストをすぐに取得できます。次のコマンドを使用します。

dir /b > output.csv

ここに画像の説明を入力してください

ここに画像の説明を入力してください

あるいは、(リストを更新して操作できるようにしたいので) 簡単な 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

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ファイル名、サイズ、作成日、変更日です。

VBA は新しいファイルを追加しますが、現時点ではアイテムを削除するロジックがないため、使用する場合は修正が必要になる可能性があることに注意してください。

これがあなたにとって役に立つかどうかはわかりませんが、何かアイデアが浮かぶと幸いです。

関連情報