VBA Excel – die besten Beiträge

[VBA] - Bestimmte Zeile aus HTML Dokument auslesen?

Hallo Community,

ich habe folgendes Problem.

Ich habe eine Excel Tabelle mit vielen ID's (Spalte B) und einen Ordner mit HTML-Dateien, die den IDs zugeordnet sind.

Im ersten Schritt bin ich alle ID's durchgegangen und habe falls vorhanden, die passende HTML Datei in einen Ordner abgespeichert.

Nun kommt der zweite Schritt bei dem ich eure Hilfe brauche. Ich möchte alle gefunden HTML Dateien durchgehen und nach einem bestimmten Bereich suchen. Im HTML Code sieht das ungefähr so aus:

<td class="category">
 <a name="attachments" id="attachments">Angehängte Dateien</a> </td>
<td colspan="5">
<a> unwichtig </a>
<a> WICHTIG </a> <- Hier steht der gesuchte Dateiname
<a> Unwichtig </a>
</td>

Das Ding ist, dass in diesem <td> Tag auch mehrere Dateien aufgeführt sind, der Aufbau ist aber immer gleich. Pro Datei gibt es 3 mal ein <a>-Tag und im mittleren stehen die wichtigen Informationen. Es gibt auch den Fall, dass dort keine Dateien und somit auch keine <a>-Tags vorhanden sind.

Mein bisheriges Makro sieht wie folgt aus:


 Const path = "M:*"
    Dim sheet As Worksheet
    Set sheet = ActiveWorkbook.Worksheets(2)
    maxRow = sheet.Cells(sheet.Rows.Count, "B").End(xlUp).Row
    Dim id As String
    Dim sourcePath As String
    Dim destPath As String
    Dim Filename As String
    For Row = 2 To maxRow
      sourcePath = path & "view.php-id=" & sheet.Cells(Row, 2) & ".html"
      Filename = "view.php-id=" & sheet.Cells(Row, 2) & ".html"
      MkDir (path & "gefunden\" & sheet.Cells(Row, 2))
      destPath = path & "gefunden\" & sheet.Cells(Row, 2) & "\" & sheet.Cells(Row, 2) & ".html"
      If Dir(sourcePath) = Filename Then
      FileCopy sourcePath, destPath
      Else
      MsgBox (sheet.Cells(Row, 2) & " nicht gefunden")
      End If
    Next Row

Um das alles nochmal zusammenzufassen, ich weiß nicht wie ich an die Namen der aufgeführten Dateien im HTML Dokument komme.

Wenn ich die Namen der Dateien erstmal habe, könnte ich auch weitermachen und die HTML-Doks mit passendem Anhang in einen Ordner kopieren.

Ich hoffe ihr verstehe was ich meine, für Fragen stehe ich gerne zu verfügung.

Grüße

Chris

Computer, Technik, HTML, programmieren, VBA, Technologie, VBA Programmierung, VBA Excel, Spiele und Gaming

Excel Makro - Variable Zelleneingabe im Blatt suchen?

Hallo, ich suche seit gut 8 Monaten (ja.. eine lange Zeit bis dato ohne Lösung) einen Weg um folgendes Umzusetzen:

Makro-Ausführung:

In eine Zelle soll ein Buchstabe eingegeben werden, diese Zelle soll vom Makro kopiert werden, den Textinhalt in die Suche eingefügt werden, das Blatt nach dem Text durchsuchen und die Zelle bei einer Liste finden, mit den Pfeiltasten einmal auf die Zelle rechts davon springen, diesen Text kopieren und in eine andere Zelle einfügen.

Makro-Aufnahme:

Zum aufnehmen des Makros gebe ich vor der Aufnahme in die gewisse Zelle (siehe Bild unten) einen Buchstaben (B) ein. Dann starte ich das Makro.

Die Zelle mit dem Buchstaben "B" wird kopiert, die normale Excel-Suche wird geöffnet, der Textinhalt wird bei der Suche eingefügt, Suche gestartet. Buchstabe "B" wird im aktuellen Blatt (Liste) gefunden. Ich springe mit der Pfeiltaste rechts in die benachbarte Zelle ("Baum") kopiere die Zelle und füge sie wo anders als "Ausgabe" ein. Ich beende die Aufnahme.

Problem:

Wenn ich dann in die gewisse Zelle den Buchstaben "A" eingebe, und aus "Ausführen" klicke, wird das vorherige aufgezeichnete Makro gestartet. Dann soll in der Suche der Buchstabe A eingefügt werden und nach "A" gesucht werden.

Aufgrund eines eigenartigen Fehlers wird aber der WIRKLICHE BUCHSTABE VON DER MARKO-AUFZEICHNUNG ("B") EINGEFÜGT - UND NICHT A.

(Ich habe beim Aufzeichnung natürlich über die Einfüg-Funktion den Zellinhalt ("B") eingefügt und nicht manuell eingetippt.)

Ich muss es schaffen, dass die Suche immer einen anderen Buchstaben einfügt, welcher von der Zelle kopiert wurde.

Wenn möglich, nur Methoden zur Aufzeichnung angeben, keine VBA Befehle - da ich davon nichts verstehe :P Ausser es ist wirklich anders nicht umsetzbar.

Bitte um dringende Hilfe, mit läuft die Zeit davon :p Ich hab das sicher schon 25 Mal neu gemacht, immer etwas anders und andere Methoden gesucht, ich werden nicht fündig.

Hier ein Bild darunter, für besseres Verständis. Ich freue mich über jede Hilfe!

Danke Danke Danke!

Bild in groß öffnen

Bild zum Beitrag
Computer, Office, Microsoft Excel, Makro, VBA, Windows 10, VBA Excel

Meistgelesene Beiträge zum Thema VBA Excel