Я получил кучу записанных файлов в формате ".Zip". Мой VBA открывает их все и вычитает детали как текст. Поскольку их много, Workbook создает листы и ведет подсчет следующим образом:
ActiveSheet.Paste
Dim sheetsQuantity As Integer
sheetsQuantity = ThisWorkbook.Worksheets.Count
ActiveSheet.Name = "Sheet" & sheetsQuantity - 3
Мне нужно обновить ("Лист" и количество) на имя файла, который был открыт для получения информации, и поскольку файлов много, каждый лист должен соответствовать файлу. Так, если файл № 1 называется "MatchCase.zip", мне нужно, чтобы лист № 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 есть родительский элемент(рабочая тетрадь, держащая лист). Эта рабочая книга имеет путь, который включает имя файла ZIP
.
К сожалению, Path
не включает информацию, котораядержатель.zipнаходится на моем рабочем столе.