HERBERS Excel-Forum - die Beispiele

Thema: Hierarchisch aufgebautes Inhaltsverzeichnis als HTML-File

Home

Gruppe

Extern

Problem

Aus einer Liste in den Spalten A:C soll ein hierarchisch aufgebautes Inhaltsverzeichnis als HTML-Datei aufgebaut werden.

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: Modul1

Sub CreateHTML()
   Dim iRow As Integer, iStage As Integer, iCounter As Integer, iPage As Integer
   Dim sFile As String
   sFile = Application.DefaultFilePath & "\test.htm"
   Close
   Open sFile For Output As #1
   Print #1, "<html>"
   Print #1, "<head>"
   Print #1, "<style type=""text/css"">"
   Print #1, "  body { font-size:12px;font-family:tahoma } "
   Print #1, "</style>"
   Print #1, "</head>"
   Print #1, "<body>"
   iRow = 2
   Do While WorksheetFunction.CountA(Rows(iRow)) > 0
      If Not IsEmpty(Cells(iRow, 1)) Then
         For iCounter = 1 To iStage
            Print #1, "</ul>"
            iStage = iStage - 1
         Next iCounter
         Print #1, "<ul>"
         Print #1, "<li><a href=""" & iPage & ".html"">" & Cells(iRow, 1).Value & "</a>"
         iPage = iPage + 1
         If iStage < 1 Then
            iStage = iStage + 1
         End If
      End If
      If Not IsEmpty(Cells(iRow, 2)) Then
         For iCounter = 2 To iStage
            Print #1, "</ul>"
            iStage = iStage - 1
         Next iCounter
         Print #1, "<ul>"
         Print #1, "<li><a href=""" & iPage & ".html"">" & Cells(iRow, 2).Value & "</a>"
         iPage = iPage + 1
         If iStage < 2 Then
            iStage = iStage + 1
         End If
      End If
      If Not IsEmpty(Cells(iRow, 3)) Then
         If iStage < 3 Then
            Print #1, "<ul>"
         End If
         Print #1, "<li><a href=""" & iPage & ".html"">" & Cells(iRow, 3).Value & "</a>"
         iPage = iPage + 1
         If iStage < 3 Then
            iStage = iStage + 1
         End If
      End If
      iRow = iRow + 1
   Loop
   For iCounter = 2 To iStage
      Print #1, "    </ul>"
      iStage = iStage - 1
   Next iCounter
   Print #1, "</body>"
   Print #1, "</html>"
   Close
   Shell "hh " & vbLf & sFile, vbMaximizedFocus
End Sub

Beiträge aus dem Excel-Forum zu den Themen Extern und HTML

Unterobj. von html getElements..() weiter parsen HTML in VBA bei Outlook EINLADUNG
Regex für Filterung von Daten in html-seiten Dateiname externer Datei ändern
Tabellenblatt aus externer Exceldatei kopieren ConboBox mit externe Daten füllen
HTML Code von Suchabfrage mit VBA abfragen Excel zu HTML formatieren
Wert in externer Datei suchen Aufruf externer Programme
HTML Farben darstellen Externe Bezüge auslesen mit VBA
Externe Verküpfung anpassen Zelle kopieren - einfügen in HTML Dokument
Pivot mit Externer DB am Limit? Als HTML speichern - variabler Name
HTML-eMailversand Externe Verknüpfungen
Blätter in Externer Arbeitsmappe einblenden externes Verzeichnis ansprechen
Externe Datenquelle via VBA Pivot mit Externer DB UNION funzt nich
Nur externe Bezüge rausnehmen Import von HTML-Datei - Ungewünschte Formatierung
*xlt-Dateien als externe Datenquelle nutzen Externes Programm öffnen
Makro: Bezug auf externes xls-File? Wert an externes Programm übergeben
Externe Excel-Verknüpfungen automatisiert ändern Hyperlinks aus Tabelle in Bookmark.html
Verlinkung externer Arbeitsmappen Tabelle in externer Datei löschen
externe Bezüge suchen/ersetzen neue Zeile und externe Bezüge....
Externe Verknüpfung finden html auto refresh
externe Bezüge Summenprodukt + Externe Bezüge
Datenbank in externer Datei Problem mit HTML-Kopie
Fehler beim Kopieren von externer Tabelle Problem mit HTML-Kopie
anzahl Blätter externer Excel-Datei Externe Daten aus Access
Externe Daten importieren aus Access Zellwert als Parameter f. externes Script/Programm
Übertragung in "Formel" für HTML-Upload Worksheetzugriff auf externe Datei
Dropdown - externe Daten Externe Bezüge