VBA根據檔案名稱重新命名工作表

VBA根據檔案名稱重新命名工作表

我得到了一堆“.Zip”格式的錄製檔案。我的 VBA 打開所有這些,並以文字形式減去詳細資訊。由於有許多工作簿會建立工作表並保持計數如下:

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

我需要將(“工作表”和數量)更新為打開以獲取資訊的文件名,並且由於有很多文件,因此每個工作表都必須與文件匹配。因此,如果檔案#1 名為“MatchCase.zip”,我需要將sheet#1 命名為“MatchCase.zip”,依此類推。

任何建議,請。

答案1

這可能取決於您的 Win 版本和檔案結構。我ZIP在桌面上創建了一個名為持有者.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 有一個 Parent(持有紙張的作業簿)。該工作簿有一個包含檔案名稱的路徑ZIP


遺憾的是,其中Path不包括以下資訊:持有人.zip駐留在我的桌面上。

相關內容