Clever-Excel-Forum

Normale Version: Große Excel-Dateien
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

hier als kleine Spielerei die Größe des Sheets und anderer Teile einer Excel-Datei auslesen.

Aus ".xlsx" wird ".xlsx.zip" und der Pfad- und Dateiname wird im Script eingetragen:

Code:
Public r As Long

Sub Test()
    Dim strPath As String
    Dim sh, n, x, i
    
    strPath = ThisWorkbook.Path & "\"
    strPath = "c:\users\xxxxx\desktop\" '<<<<<< anpassen
    
    
    Set sh = CreateObject("Shell.Application")

    x = "MS WD uri CLSID III.xlsm.zip" '<<<<< anpassen
    r = 7

        Set n = sh.Namespace(x)
        Recur sh, n
    
End Sub

Sub Recur(sh, n)
    Dim i, subn, x As Long, p As Long
    
    For Each i In n.items
        If i.isfolder Then
            Set subn = sh.Namespace(i)
            Recur sh, subn
        Else
            p = LastPos(i.Path, "\")
            Cells(r, 1) = Mid(i.Path, p + 1)
            
            Cells(r, 2) = n
            Cells(r, 3) = i.Size
            r = r + 1
        End If
    Next i
End Sub

Function LastPos(strVal As String, strChar As String) As Long
    LastPos = InStrRev(strVal, strChar)
End Function

mfg
@Fen

umbenennen brauchtst du nicht; öffnen mit Izarc reicht.
Inpakken en wegwezen.
@snb

per Hand geht es auch mit 7-zip, mit NameSpace() werde ich es später testen.
Hallo, 

mal die oberste Zell ganz links markieren und dann Tastekombi  STRG + ENDE drücken.
Landet der Cursor in Zeile  [b]1.048.576[/b]  dann ist das Maximum als bereich definiert.

Ans Ende des tatsächlichen Bereiches , Markeiren bis ende + entfernen
@snb

ohne das Rename to .docx.zip funktionierte das automatisierte Auslesen mit Namespace() nicht, weder mit dem hier gezeigten Code noch mit

Code:
Shl.Namespace(Pfad).copyhere Shl.Namespace(Pfad & "Test.docx").items.item("word\document.xml")

um Teile einer Word-Datei zu extrahieren.

mfg
Seiten: 1 2