파일 이름을 기준으로 시트 이름을 바꾸는 VBA

파일 이름을 기준으로 시트 이름을 바꾸는 VBA

".Zip" 형식으로 녹음된 파일을 많이 받았습니다. 내 VBA는 모든 항목을 열고 세부 정보를 텍스트로 뺍니다. 통합 문서가 많기 때문에 통합 문서는 시트를 생성하고 다음과 같이 개수를 유지합니다.

ActiveSheet.Paste
Dim sheetsQuantity As Integer
sheetsQuantity = ThisWorkbook.Worksheets.Count
ActiveSheet.Name = "Sheet" & sheetsQuantity - 3

정보를 얻기 위해 열린 파일 이름이 되도록 ("시트" 및 수량)을 업데이트해야 하며, 파일이 많기 때문에 각 시트는 파일과 일치해야 합니다. 따라서 파일 #1이 "MatchCase.zip"이라고 하면 시트#1이 "MatchCase.zip"이 되어야 합니다.

어떤 조언이라도 부탁드립니다.

답변1

이는 Windows 버전 및 파일 구조에 따라 달라질 수 있습니다. ZIP데스크탑에 다음과 같은 파일을 만들었습니다 .홀더.우편번호. 폴더에는 다음과 같은 단일 파일이 있습니다.형식.xlsm

파일을 열고 통합 문서에서 일부 시트를 선택하고 Path다음을 사용하여 통합 문서를 검사합니다.

Sub WhoHoldsMe()
    Dim sPath As String

    sPath = ActiveSheet.Parent.Path
    arr1 = Split(sPath, "\")
    arr2 = Split(arr1(UBound(arr1)), "_")

    MsgBox sPath & vbCrLf & arr2(1)

End Sub

나는 얻다:

여기에 이미지 설명을 입력하세요

분명히 ActiveSheet에는 부모가 있습니다(시트가 들어있는 통합 문서). 해당 통합 문서에는 파일 이름이 포함된 경로가 있습니다 ZIP.


안타깝게도 여기에는 Path다음과 같은 정보가 포함되어 있지 않습니다.홀더.zip내 데스크탑에 상주합니다.

관련 정보