Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

html auslesen und in Excel speichern

html auslesen und in Excel speichern
Friedemann
Halle an alle hilfsbereiten Mitglieder hier im Forum,
Ich habe ein wirklich schwieriges Problem und habe noch keine Ahnung wie ich es lösen soll.
Ich muß aus cirka 22.000 html Seiten die auf meinem Rechner sind (also nicht online) und alle im gleichen Verzeichnis liegen:
1. den file Namen auslesen und in spalte A einer Excel Tabelle speichern und
2. ein einziges Wort eines Textstriges des Quellcodes jedes Files in Spalte B speichern.
Dieses Wort hat entweder 4 oder 6 Zeichen und liegt jedesmal an der gleichen Stelle.
Hat irgend jemand eine Idee wie ich dies machen könnte?
Die Altenative ist grauenerregend, nämlich alle 22.000 Files von Hand bearbeiten, was Wochen dauert.
Danke
Friedemann

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: html auslesen und in Excel speichern
06.03.2010 19:51:19
Josef

Hallo Friedemann,
lade eine Beispiel-Html-Datei hoch und beschreibe was ausgelesen werden soll.

Gruß Sepp

AW: html auslesen und in Excel speichern
06.03.2010 20:25:29
Friedemann
Die Datei liegt https://www.herber.de/bbs/user/68432.htm
Unmittelbar nach dem "body" kommt ein kleines Bild
entweder
"img border=0 src=gender.female.gif align=absmiddle alt=Frau width=16 height=16"
oder
"img border=0 src=gender.male.gif align=absmiddle alt=Mann width=16 height=16"
Es kann nun entweder das Wort male oder female ausgelesen werden bzw Frau oder Mann, oder es kann in die Excel Tabelle für female ein f und für male ein m geschrieben werden.
leider habe ich eben festgestellt, das die Worte doch nicht immer absolut exact an der gleichen Stelle stehen da die Files in verschieden Versionen über Jahre erstellt wurden. Allerdings stehen sie immer innerhalb des Images tags.
Für mich eine unlösbare Aufgabe. Ich bin dankbar für jede Hilfe.
Friedemann
Anzeige
AW: html auslesen und in Excel speichern
06.03.2010 20:39:13
Josef

Hallo Friedemann,
im Code den Pfad anpassen!
Die Ausgabe erfolgt auf dem aktiven Tabellenblatt.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub readData()
  Dim strFile As String, strPath As String
  Dim FF As Integer, intPos As Integer
  Dim strValues() As String, strTmp As String
  Dim strFind As String
  
  strFind = "src=gender." 'Suchbegriff - Anpassen!
  
  strPath = "E:\Forum" 'Verzeichnis - Anpassen!
  
  strPath = strPath & IIf(Right(strFile, 1) = "\", "", "\")
  
  Redim strValues(1 To 2, 1 To 1)
  
  strValues(1, 1) = "Datei"
  strValues(2, 1) = "Wert"
  
  strFile = Dir(strPath & "*.htm*", vbNormal)
  
  Do While strFile <> ""
    strTmp = ""
    FF = FreeFile
    Open strFile For Input As #FF
    Do While Not EOF(FF)
      Line Input #FF, strTmp
      intPos = InStr(1, strTmp, strFind)
      If intPos > 0 Then
        If Mid(strTmp, intPos + Len(strFind), 4) = "male" Then
          strTmp = "M"
        ElseIf Mid(strTmp, intPos + Len(strFind), 4) = "fema" Then
          strTmp = "F"
        End If
        Exit Do
      End If
    Loop
    Close #FF
    Redim Preserve strValues(1 To 2, 1 To UBound(strValues, 2) + 1)
    strValues(1, UBound(strValues, 2)) = strFile
    strValues(2, UBound(strValues, 2)) = strTmp
    strFile = Dir
  Loop
  
  Range("A1").Resize(UBound(strValues, 2), 2) = Application.Transpose(strValues)
  Columns("A:B").AutoFit
End Sub

Gruß Sepp

Anzeige
AW: html auslesen und in Excel speichern
06.03.2010 20:52:43
Friedemann
Ich bekomme eine Fehlermeldung: Laufzeitfehler - Datei nicht gefunden:
Die fette Zeile scheint der Fehler zu sein, glaube ich.
Option Explicit
Sub readData()
Dim strFile As String, strPath As String
Dim FF As Integer, intPos As Integer
Dim strValues() As String, strTmp As String
Dim strFind As String
strFind = "src=gender.female" 'Suchbegriff - Anpassen!
strPath = "C:\Documents and Settings\FK.FK-HOME1\My Documents\HTML\fkrug-net\genpro\" ' _
Verzeichnis - Anpassen!
strPath = strPath & IIf(Right(strFile, 1) = "\", "", "\")
ReDim strValues(1 To 2, 1 To 1)
strValues(1, 1) = "Datei"
strValues(2, 1) = "Wert"
strFile = Dir(strPath & "*.htm*", vbNormal)
Do While strFile  ""
strTmp = ""
FF = FreeFile
 Open strFile For Input As #FF
Do While Not EOF(FF)
Line Input #FF, strTmp
intPos = InStr(1, strTmp, strFind)
If intPos > 0 Then
If Mid(strTmp, intPos + Len(strFind), 4) = "male" Then
strTmp = "M"
ElseIf Mid(strTmp, intPos + Len(strFind), 4) = "fema" Then
strTmp = "F"
End If
Exit Do
End If
Loop
Close #FF
ReDim Preserve strValues(1 To 2, 1 To UBound(strValues, 2) + 1)
strValues(1, UBound(strValues, 2)) = strFile
strValues(2, UBound(strValues, 2)) = strTmp
strFile = Dir
Loop
Range("A1").Resize(UBound(strValues, 2), 2) = Application.Transpose(strValues)
Columns("A:B").AutoFit
End Sub

Anzeige
AW: html auslesen und in Excel speichern
06.03.2010 20:58:39
Josef

Hallo Friedemann,
das ist schon mal falsch 'strFind = "src=gender.female"',lass es bei 'strFind = "src=gender."'
Der Rest war mein Fehler.

' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub readData()
  Dim strFile As String, strPath As String
  Dim FF As Integer, intPos As Integer
  Dim strValues() As String, strTmp As String
  Dim strFind As String
  
  strFind = "src=gender." 'Suchbegriff - Anpassen!
  
  strPath = "E:\Forum" 'Verzeichnis - Anpassen!
  
  strPath = strPath & IIf(Right(strFile, 1) = "\", "", "\")
  
  Redim strValues(1 To 2, 1 To 1)
  
  strValues(1, 1) = "Datei"
  strValues(2, 1) = "Geschlecht"
  
  strFile = Dir(strPath & "*.htm*", vbNormal)
  
  Do While strFile <> ""
    strTmp = ""
    FF = FreeFile
    Open strPath & strFile For Input As #FF
    Do While Not EOF(FF)
      Line Input #FF, strTmp
      intPos = InStr(1, strTmp, strFind)
      If intPos > 0 Then
        If Mid(strTmp, intPos + Len(strFind), 4) = "male" Then
          strTmp = "M"
        ElseIf Mid(strTmp, intPos + Len(strFind), 4) = "fema" Then
          strTmp = "F"
        End If
        Exit Do
      End If
    Loop
    Close #FF
    Redim Preserve strValues(1 To 2, 1 To UBound(strValues, 2) + 1)
    strValues(1, UBound(strValues, 2)) = strFile
    strValues(2, UBound(strValues, 2)) = strTmp
    strFile = Dir
  Loop
  
  Range("A1").Resize(UBound(strValues, 2), 2) = Application.Transpose(strValues)
  Columns("A:B").AutoFit
End Sub

Gruß Sepp

Anzeige
AW: html auslesen und in Excel speichern
06.03.2010 21:05:05
Friedemann
Wow, ich bin schlicht weg begeistert.
Es hat funktioniert.
Danke vielmals.
Es hat mir viele viele Stunden an Arbeit erspart.
Gruß
Friedemann
AW: html auslesen und in Excel speichern
06.03.2010 20:31:59
Friedemann
Ich habe hier die Datei nochmal im Quellcode
Userbild
AW: html auslesen und in Excel speichern
06.03.2010 20:38:59
Friedemann
Eine weitere Variante wäre, den gesamten img tag auszulesen und in Spalte B abzulegen. Ist dies einfacher?
Wenn es nämlich erst einmal in Excel steht ist das weitere Bearbeiten kein Problem mehr.
Friedemann

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige