폴더 내의 파일로 스프레드시트 채우기

폴더 내의 파일로 스프레드시트 채우기

프로젝트와 관련된 폴더 내에서 많은 파일을 관리해야 하는데, 현재 이러한 파일은 Dropbox에 있습니다. 그래서 저는 스프레드시트가 폴더 내의 파일 이름으로 채워지도록 할 수 있는 방법을 찾고 싶습니다. 그렇게 하면 이러한 파일과 관련된 설명, 날짜, 상태 등이 포함된 열을 추가할 수 있고 다음 단계를 준비하는 특정 조건을 쉽게 관리할 수 있습니다.

폴더에 파일이 추가되거나 제거되는 경우도 있습니다.

Excel이나 Google 스프레드시트를 통해 이를 수행할 수 있는 방법이 있습니까? 파일 저장소가 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는 새 파일을 추가하지만 현재 항목을 제거하는 논리가 없으므로 사용하는 경우 수정해야 할 수도 있습니다.

이것이 당신에게 도움이 될지는 확실하지 않지만, 희망적으로 당신에게 몇 가지 아이디어를 제공할 것입니다.

관련 정보