VBA zum Umbenennen des Blatts basierend auf dem Dateinamen

VBA zum Umbenennen des Blatts basierend auf dem Dateinamen

Ich habe eine Reihe aufgezeichneter Dateien im „.Zip“-Format. Mein VBA öffnet sie alle und extrahiert die Details als Text. Da es viele sind, erstellt das Arbeitsbuch Blätter und hält die Anzahl wie folgt fest:

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

Ich muss („Blatt“ und Menge) aktualisieren, damit es der Dateiname ist, der geöffnet wurde, um die Informationen abzurufen, und da es viele Dateien gibt, muss jedes Blatt mit der Datei übereinstimmen. Wenn also Datei Nr. 1 „MatchCase.zip“ heißt, muss Blatt Nr. 1 „MatchCase.zip“ heißen und so weiter.

Bitte um irgendwelche Ratschläge.

Antwort1

Dies kann von Ihrer Win-Version und Dateistruktur abhängen. Ich habe ZIPauf meinem Desktop eine Datei mit dem Namen erstellt.Halter.Zip. In dem Ordner befindet sich eine einzelne Datei namensformate.xlsm

Ich öffne die Datei, wähle ein beliebiges Blatt in der Arbeitsmappe aus und untersuche Pathdie Arbeitsmappe mit:

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

Ich bekomme:

Bildbeschreibung hier eingeben

Offensichtlich hat das ActiveSheet ein Parent(die Arbeitsmappe, in der sich das Blatt befindet). Diese Arbeitsmappe hat einen Pfad, der den Namen der ZIPDatei enthält.


Leider Pathenthält der Pfad nicht die Informationen, diehalter.zipbefindet sich auf meinem Desktop.

verwandte Informationen