Thema Datum  Von Nutzer Rating
Antwort
Rot Dateien duchsuchen, Überlauf
27.01.2024 10:41:02 Jan
NotSolved
27.01.2024 14:21:30 ralf_b
Solved
27.01.2024 18:32:28 Jan
NotSolved

Ansicht des Beitrags:
Von:
Jan
Datum:
27.01.2024 10:41:02
Views:
417
Rating: Antwort:
  Ja
Thema:
Dateien duchsuchen, Überlauf

Hallo zusammen, ich hoffe ihr könnt mir helfen, ich komme nicht weiter, auch nicht bard oder ChatGPT.

In meiner Excel habe ich in Spalte C eine Liste mit lokalen Dateienpfaden zu .html Dateien. Diese html Dateien enthalten mehrere Einträge wie 

<meta itemProp="sku" content="12345abc"/>

Die sku / Artikelnummer im content ist logischerweise dynamisch. Ich möchte nun in Spalte D eine Liste mit allen gefunden sku's haben, getrennt durch ein komma. Mein Code funktioniert auch schon recht gut, allerdings werden nur die ersten 8 gefunden, dann kommt Fehler 6, Überlauf.

Kann mir bitte jemand helfen?

 

Sub DurchsucheMehrereHTMLDateienNachSKU()
    Dim ws As Worksheet
    Dim objFSO As Object
    Dim objFile As Object
    Dim htmlContent As String
    Dim startIdx As Integer
    Dim endIdx As Integer
    Dim sku As String
    Dim i As Integer
    Dim j As Integer
    Dim skuCount As Integer
    
    ' Arbeitsblatt "Sheet1" referenzieren
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' Objekt für Dateisystemzugriff erstellen
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    ' Durchsuche die Dateien von Zeile 2 bis Zeile 5 in Spalte C
    For j = 2 To 5
        ' Pfad aus aktueller Zeile, Spalte C lesen
        Dim filePath As String
        filePath = ws.Cells(j, 3).Value
        
        ' Überprüfen, ob es sich um eine .html Datei handelt
        If objFSO.FileExists(filePath) And LCase(Right(filePath, 5)) = ".html" Then
            ' HTML-Datei öffnen und nach SKU durchsuchen
            Set objFile = objFSO.OpenTextFile(filePath)
            htmlContent = objFile.ReadAll
            objFile.Close
            
            ' SKU in der HTML-Datei finden und in aufeinanderfolgende Spalten eintragen
            startIdx = InStr(htmlContent, "<meta itemProp=""sku"" content=""")
            i = 4 ' Beginne in Spalte D
            skuCount = 0 ' Anzahl gefundener SKUs zurücksetzen
            Do While startIdx > 0
                startIdx = startIdx + Len("<meta itemProp=""sku"" content=""")
                endIdx = InStr(startIdx, htmlContent, """")
                sku = Mid(htmlContent, startIdx, endIdx - startIdx)
                
                ' SKU in nächster freier Spalte eintragen
                ws.Cells(j, i).Value = sku
                i = i + 1
                skuCount = skuCount + 1
                
                ' Prüfen, ob das Ende der Datei erreicht wurde
                If startIdx >= Len(htmlContent) Then Exit Do
                
                ' Weitere SKU suchen
                startIdx = InStr(startIdx, htmlContent, "<meta itemProp=""sku"" content=""")
            Loop
            
            MsgBox "Es wurden " & skuCount & " SKUs in der Datei " & filePath & " gefunden und in aufeinanderfolgende Spalten eingetragen."
        Else
            MsgBox "Der angegebene Pfad in Zeile " & j & ", Spalte C ist ungültig oder es handelt sich nicht um eine .html Datei."
        End If
    Next j
    
    ' Aufräumen
    Set ws = Nothing
    Set objFSO = Nothing
    Set objFile = Nothing
End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Dateien duchsuchen, Überlauf
27.01.2024 10:41:02 Jan
NotSolved
27.01.2024 14:21:30 ralf_b
Solved
27.01.2024 18:32:28 Jan
NotSolved