我需要管理與專案相關的資料夾中的大量文件,目前這些文件駐留在 Dropbox 中。因此,我想找到一種方法,使電子表格能夠用資料夾中的文件名稱填充自身,這樣我就可以添加與這些文件相關的註釋、日期、狀態等列,並且可以輕鬆管理具有一定條件的人,為下一步做好準備。
可能會出現檔案被新增或從資料夾中刪除的情況。
有沒有辦法透過 Excel 或 Google Spreadsheet 來完成此任務?如果檔案儲存庫是 Dropbox、OneDrive、Google Drive 等,只要有共用選項就沒有問題。
謝謝,
答案1
有兩種快速入門方法(您可能需要擴展這些方法以方便更新)。
使用 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 會新增文件,但目前沒有刪除項目的邏輯,因此如果您使用它,可能需要修改它。
不確定這對你是否有用,但希望能給你一些想法。