Collapse column

Autor Thema: Office 2016 Load Data from Website with Java Script  (Gelesen 379 mal)

Offline Silent_Warrior5

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Office 2016 Load Data from Website with Java Script
« am: August 19, 2018, 20:54:45 Nachmittag »
Hi Zusammen,

ich möchte Daten aus einer Website mit Java Script laden.
Im Quelltext der Seite konnt ich das hier finden:

<title>Empfangen</title>
<link href='/assets/favicon-cd9......ico' rel='shortcut icon'>
****** name="csrf-param" content="authenticity_token" />
****** name="csrf-token" content="WfrZ........==" />
<!--[if lt IE 9]>
******** src="/assets/html5-e3b

So nun zu meinem Problem. Wenn ich die Query Connection öffne die Website im Excel Browser laden lasse und paar Fehlermeldungen von ein paar scripts weg drücke dann kann ich die Daten laden. Wie kann ich einen VBA code erstellen der die Autorisierung mit dem Token erledigt und evtl ein cookie damit erstellt? (hoffe jemand kann mir sagen woran ich das im Soure Code der Website sehe) und das ich dann die Daten einfach per Query laden kann?

bei diesem Makro kommt Fehlermeldung "forbidden"

Sub Dow_HistoricalData()

Dim xmlHttp As Object
Dim TR_col As Object, TR As Object
Dim TD_col As Object, TD As Object
Dim row As Long, col As Long

Set xmlHttp = CreateObject("MSXML2.XMLHTTP.6.0")
xmlHttp.Open "GET", "https://musterfirma.coupahost.com/receipts?cond%5B1%5D%5Bcol_key%5D=order_header_id&cond%5B1%5D%5Border_heade r_id%5D=1372229&cond%5B1%5D%5Border_header_id_op%5D=eq&search_mode=advanced", False

xmlHttp.setRequestHeader "Content-Type", "text/xml"
xmlHttp.Send

Dim html As Object
Set html = CreateObject("htmlfile")
html.body.innerHTML = xmlHttp.responseText

Dim tbl As Object
Set tbl = html.getElementById("curr_table")

row = 1
col = 1

Set TR_col = html.getelementsbytagname("TR")
For Each TR In TR_col
Set TD_col = TR.getelementsbytagname("TD")
For Each TD In TD_col
Cells(row, col) = TD.innerText
col = col + 1
Next
col = 1
row = row + 1
Next
End Sub

und bei der normalen Query download (ohne das ich die abfrage manuell öffne und die Fehlermeldungen wegklicke) kommt dann das hier:

Note: Since your browser does not support JavaScript, you must press the Resume button once to proceed.

Kann mir da jemand weiterhelfen wie so ein Code aussehen muss damit ich die Daten laden kann? Habe schon ma wo anders gefragt aber bis jetzt konnte mir niemand helfen.

Danke & Gruß
Silent

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.