VBA 根据文件名重命名工作表

VBA 根据文件名重命名工作表

我得到了一堆“.Zip”格式的录制文件。我的 VBA 打开了所有这些文件,并将详细信息减去为文本。由于文件数量很多,工作簿会创建工作表并保持计数,如下所示:

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

我需要将 (“Sheet” & 数量) 更新为打开以获取信息的文件名,并且由于文件很多,因此每个 Sheet 必须与文件匹配。因此,如果文件 #1 名为“MatchCase.zip”,则我需要 Sheet#1 为“MatchCase.zip”,依此类推。

请问有什么建议吗?

答案1

这可能取决于你的 Windows 版本和文件结构。我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 有一个父级(包含该工作表的工作簿)。该工作簿的路径包含ZIP文件的名称。


遗憾的是,Path不包含持有人.zip驻留在我的桌面上。

相关内容