Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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

Daten aus dem Internet als htm speichern

Daten aus dem Internet als htm speichern
16.11.2021 20:45:00
Aram216
Hallo,
ich bin schon gefühlt den ganzen Tag an einer eigentlich simplen Sache dran.
Undzwar hab ich eine Tabelle in
A1 steht der Speicherpfad (Dateiname ist Variabel)
A2 steht der Link (Link ist Variabel)
In unserem Firmennetzwerk kann ich auf unsere Lieferscheine zugreifen (webbasiert) nun möchte ich diese Inhalte als Webseite (htm) abspeichern um später damit weiter zu arbeiten.
Ich habe mir aus dem Internet mehrere Makro-Schnipsel gesucht aber komme einfach nicht weiter. Das Makro muss eigentlich nur folgendes können:
Im Hintergrund den Link aus A2 unter dem Namen aus D1 als .htm abspeichern
Das alles soll im Hintergrund passieren.
Meine Datei hab ich hier hochgeladen
https://www.herber.de/bbs/user/149193.xlsm
Mein Makro sieht bisher so aus
  • Sub Aufruf()
    Call URL_Load
    End Sub
    
    Private Sub URL_Load()
    Dim sUrl As String
    Dim appIE As Object
    Dim sTxt As String
    Set appIE = CreateObject("InternetExplorer.Application")
    sUrl = Tabelle1.Range("A2").Value
    appIE.navigate sUrl
    Do: Loop Until appIE.Busy = False
    Do: Loop Until appIE.Busy = False
    sTxt = appIE.document.DocumentElement.outerHTML
    Set appIE = Nothing
    Close
    Open ThisWorkbook.Path & Worksheets("Tabelle1").Range("D1").Value For Output As #1
    Print #1, sTxt
    Close
    End Sub
    
    
    Public Sub Import_HTML()
    Dim objWorkbook As Workbook
    Application.ScreenUpdating = False
    Set objWorkbook = Workbooks.Open(Filename:="C:\Users\mkoer\AppData\Local\Temp\test.htm")
    Call objWorkbook.Worksheets(1).Move(Before:=ThisWorkbook.Worksheets(1))
    Application.ScreenUpdating = True
    Set objWorkbook = Nothing
    End Sub
    

  • 4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Daten aus dem Internet als htm speichern
    17.11.2021 10:24:42
    Yal
    Hallo Aram,
    Ich habe irgendwie den Eindruck, dass Du hier eine unnötig komplizierte Weg eingehst: wenn es firmeninterne Lieferschein gibt, dann liegen die dahinterstehende Daten in einer Datenbank. Auf diese Datenbank solltest Du zugreifen zu versuchen.
    Aus Datensicht besteht eine HTML aus 90% nutzlose Information, um die Daten in einem vom Mensch gut lesbare "Bild" zu verwandeln.
    Es ist ein bischen als Waldo neben Dir stehen würde, Du ihn trotzdem im Wimmelbild suchen würdest.
    VG
    Yal
    AW: Daten aus dem Internet als htm speichern
    17.11.2021 10:30:21
    Zwenn
    Hallo Aram,
    probiere mal aus, ob das in Eurem Intranet funktioniert, um die HTML-Datei für Dich zu speichern. Was Du mit "im Hintergrund" meinst ist mir nicht klar.
    
    Sub SaveHTML()
    Dim savePath As String
    Dim url As String
    Dim doc As Object
    Dim htmlText As String
    Set doc = CreateObject("htmlFile")
    With CreateObject("MSXML2.XMLHTTP.6.0")
    url = Tabelle1.Range("A2")
    .Open "GET", url, False
    .Send
    If .Status = 200 Then
    savePath = Tabelle1.Range("B1")
    If Right(savePath, 1)  "\" Then
    savePath = savePath & "\"
    End If
    doc.body.innerHTML = .responseText
    htmlText = dokument.outerHTML
    Close
    Open savePath & Tabelle1.Range("D1") & ".html" For Output As #1
    Print #1, htmlText
    Close
    Else
    MsgBox "Seite nicht geladen. HTTP-Status " & .Status
    End If
    End With
    End Sub
    
    Viele Grüße,
    Zwenn
    Anzeige
    AW: Daten aus dem Internet als htm speichern
    17.11.2021 14:17:52
    Aram216
    Hi Zwenn, leider bekomme ich ab dem Befehl
    .Send
    den Fehler: Zugriff verweigert. Ja ich hab normalerweise Zugriff auf den angegebenen Pfad
    Im Hintegrund laufen meinte ich das man nicht sehen soll wie der InternetExplorer sich öffnet oder andere Fenster aufblitzen.
    AW: Daten aus dem Internet als htm speichern
    17.11.2021 15:05:20
    Zwenn
    Ich kann mir zwar nicht vorstellen, dass Du die Startseite von Google aufrufen willst, aber so bekommst Du sie ;-) Mit dem IE hat das Makro übrigens nix mehr zu tun. Aber Du musst das mit einer Adresse bei euch im Intranet ausprobieren. Da ich deren Aufbau nicht kenne, kann ich nicht sagen, ob das jetzt klappt.
    
    Sub SaveHTML()
    Dim savePath As String
    Dim url As String
    With CreateObject("MSXML2.ServerXMLHTTP.6.0")
    url = Tabelle1.Range("A2")
    .Open "GET", url, False
    .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0"
    .Send
    If .Status = 200 Then
    savePath = Tabelle1.Range("B1")
    If Right(savePath, 1)  "\" Then
    savePath = savePath & "\"
    End If
    Close
    Open savePath & Tabelle1.Range("D1") & ".html" For Output As #1
    Print #1, .responseText
    Close
    Else
    MsgBox "Seite nicht geladen. HTTP-Status " & .Status
    End If
    End With
    End Sub
    

    Anzeige

    302 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige