Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Große Excel-Dateien
#11
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
Top
#12
@Fen

umbenennen brauchtst du nicht; öffnen mit Izarc reicht.


Angehängte Dateien Thumbnail(s)
   
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Top
#13
Inpakken en wegwezen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#14
@snb

per Hand geht es auch mit 7-zip, mit NameSpace() werde ich es später testen.
Top
#15
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
Top
#16
@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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste