Thema Datum  Von Nutzer Rating
Antwort
08.05.2018 13:57:55 2000ede
Solved
09.05.2018 22:05:58 2000ede
NotSolved
Rot webseiten parsen
09.05.2018 23:38:51 Gast72870
NotSolved
10.05.2018 11:19:30 2000ede
NotSolved
10.05.2018 17:25:40 Gast72870
NotSolved
10.05.2018 17:27:49 Gast56833
NotSolved
10.05.2018 11:34:49 2000ede
NotSolved
10.05.2018 11:46:14 2000ede
NotSolved
10.05.2018 17:32:11 Gast72870
NotSolved
10.05.2018 17:54:49 Gast72870
NotSolved
10.05.2018 17:55:37 Gast6544
NotSolved
10.05.2018 18:05:47 2000ede
Solved
10.05.2018 20:01:38 Gast72870
NotSolved
10.05.2018 23:42:46 2000ede
Solved
13.05.2018 21:56:57 2000ede
NotSolved

Ansicht des Beitrags:
Von:
Gast72870
Datum:
09.05.2018 23:38:51
Views:
570
Rating: Antwort:
  Ja
Thema:
webseiten parsen

Der einfachste Weg geht über die eigene Excel-Funktion: Reiter Daten -> Daten abrufen und transformieren -> Aus dem Web

Mit dem Assistenten läßt sich damit eine Web-Abfrage generieren die man regelmäßig aktualisieren kann.

Darauf aufbauend würde ich dann per Makro die Tabellenwerte weiter verarbieten.

 

Die Daten per VBA abzurufen und die Tabellen einzufügen geht auch per VBA, ist aber mitunter kniffliger.

z.B. so:

Option Explicit

Public Sub Test()
  
  Dim req As WinHttp.WinHttpRequest
  Dim html As MSHTML.HTMLDocument
  Dim items As MSHTML.IHTMLElementCollection
  Dim item As MSHTML.HTMLTable
  Dim rngCell As Excel.Range
  
  Set req = New WinHttp.WinHttpRequest
  
  Call req.Open("GET", "https://www.meteo.physik.uni-muenchen.de/wetter/index.html", False)
  Call req.send
  
  Set html = New MSHTML.HTMLDocument
  Call CallByName(html, "writeln", VbMethod, req.responseText)
  
  Set items = html.getElementsByTagName("table")
  
  Call Worksheets(1).UsedRange.Clear
  Set rngCell = Worksheets(1).Range("A1")
  
  For Each item In items
    Call CopyToClipboard(item.outerHTML)
    Call rngCell.PasteSpecial
    Set rngCell = Selection.Offset(Selection.Rows.Count + 1).Cells(1)
  Next
  
End Sub

Function CopyToClipboard(sClipText As String) As Boolean

    ' Source: www.Spreadsheet1.com
    ' Late binding, no Forms Library reference required

    Dim MSForms_DataObject As Object

    On Error GoTo ErrorHandler_
    
    Set MSForms_DataObject = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
    MSForms_DataObject.SetText sClipText
    MSForms_DataObject.PutInClipboard
    CopyToClipboard = True
Exit Function
ErrorHandler_:
    CopyToClipboard = False
End Function

 


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
08.05.2018 13:57:55 2000ede
Solved
09.05.2018 22:05:58 2000ede
NotSolved
Rot webseiten parsen
09.05.2018 23:38:51 Gast72870
NotSolved
10.05.2018 11:19:30 2000ede
NotSolved
10.05.2018 17:25:40 Gast72870
NotSolved
10.05.2018 17:27:49 Gast56833
NotSolved
10.05.2018 11:34:49 2000ede
NotSolved
10.05.2018 11:46:14 2000ede
NotSolved
10.05.2018 17:32:11 Gast72870
NotSolved
10.05.2018 17:54:49 Gast72870
NotSolved
10.05.2018 17:55:37 Gast6544
NotSolved
10.05.2018 18:05:47 2000ede
Solved
10.05.2018 20:01:38 Gast72870
NotSolved
10.05.2018 23:42:46 2000ede
Solved
13.05.2018 21:56:57 2000ede
NotSolved