• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Resultaten downloaden van euromillions

Status
Niet open voor verdere reacties.

Valentin

Gebruiker
Lid geworden
14 feb 2009
Berichten
80
In het verleden gebruikte ik deze twee coderegels (onderdeel van een veel groter macro) om de resultaten van euromillions te downloaden naar het bestand "Euromillions controle".

Code:
Sheets("GameData").Select
ActiveSheet.QueryTables.Add("URL;http://www.nationale-loterij.be/Controls/Draw/DownloadResults.ashx?productId=e07ce0de-9072-436f-b6ec-9a7e9475fa6f&StartDate=" & Sheets(1).Cells(4, 2).Value & "&EndDate=" & Year(Now()) & "1231&ExportData=True", Destination:=Range("A1")).Refresh True

Sheets("FinancialData").Select
ActiveSheet.QueryTables.Add("URL;http://www.nationale-loterij.be/Controls/Draw/DownloadResults.ashx?productId=e07ce0de-9072-436f-b6ec-9a7e9475fa6f&StartDate=" & Sheets(1).Cells(4, 2).Value & "&EndDate=" & Year(Now()) & "1231&ExportData=false", Destination:=Range("A1")).Refresh True

Het eerste bestand = EuroMillionsGameData.cvs
Het tweede bestand = EuroMillionsFinancialData.cvs

Onlangs heeft men de website totaal vernieuwd en werkt mijn code natuurlijk niet meer.
Als ik dan op de website ga zoeken naar de broncode van de betreffende webpagina vind ik de betreffende url's niet terug.
Wel heb ik gemerkt dat de website nu gebruik maakt van javascript, maar daar ken ik niets van.
Mijn vraag is of het toch nog mogelijk is met een macro om beide bestanden toch te downloaden.

Het betreffende url van de pagina is http://www.nationale-loterij.be/nl/onze-spelen/euro-millions/resultaten
 
Dit is de code die ik nu gebruik
Code:
 With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.nationale-loterij.be/nl/gewonnen", Destination:=Range("$A$1"))
         .Name = "ExterneGegevens"
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .Refresh BackgroundQuery:=False
    End With
hier staan alle trekkingen van de lotto in, verder verwerken zal je een en ander opnieuw moeten maken, dat heb ik toch moeten doen voor een vriend die alle weken Lotto speelt met de zelfde getallen.
 
Dit is de code die ik gevonden heb op dit forum, maar wat ik nog nodig heb zijn de financiele gegevens.

Code:
Public Sub Nationale_Loterij_Be_EuroMillions()
    Dim objScriptControl As Object
    Dim strDateLast As String
    Dim strResponseText As String
    Dim strURL As String
        Worksheets("Blad1").Range("A1:G1").Value = Array("E", "E", "E", "E", "E", "E", "E")
        strURL = "http://www.nationale-loterij.be/drawapi/draw/"
        Set objScriptControl = CreateObject("ScriptControl")
        objScriptControl.Language = "JScript"
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", strURL & "getavailabledatesforbrand?brand=EuroMillions", False    'am_2014"
            .Send
            Do
                DoEvents
            Loop While .ReadyState <> 4
            Application.Wait DateAdd("s", 1, Now)
            strResponseText = .ResponseText
            If objScriptControl.Eval("(" + strResponseText + ")").Succeeded Then
                strDateLast = Split(objScriptControl.Eval("(" + strResponseText + ")").Data, ",")(0)
                .Open "GET", strURL & "getdraw?drawdate=" & strDateLast & ".000Z&brand=EuroMillions&language=nl-BE", False
                .Send
                Do
                    DoEvents
                Loop While .ReadyState <> 4
                Application.Wait DateAdd("s", 1, Now)
                strResponseText = .ResponseText
                If objScriptControl.Eval("(" + strResponseText + ")").Succeeded Then
                    Worksheets("Blad1").Range("A1:G1").Value = Split(objScriptControl.Eval("(" + strResponseText + ")").Data.Draw.Results, ",")
                End If
            End If
        End With
        Set objScriptControl = Nothing
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan