Slimme meter uitlezen naar exel

Status
Niet open voor verdere reacties.

Oude leerling

Gebruiker
Lid geworden
30 aug 2010
Berichten
554
Geacht forum,
Via de ESP8266 P1-Wifi gateway kan ik de meterstanden bekijken op de PC.
Nu wil ik deze meterstanden opslaan in een Exel sheet.
Zie mijn poging in het bijgeleverde Exel bestandje.
Vriendelijke groet Jaap
 

Bijlagen

  • Slimme meter uitlezen naar exel.xlsm
    24,2 KB · Weergaven: 104
Ik ben echt een leek op html gebied.

Weet dus niet precies wat u bedoeld

Ik heb wel , via een eerdere tip van dit forum , door op F12 te klikken
onderstaande gegevens te voorschijn kunnen toveren .

Hopelijk zocht u naar deze gegevens. (zie bijlage)
 

Bijlagen

  • Brongegevens van http.docx
    12,5 KB · Weergaven: 63
Kan je het zichtbare tabelletje in je browser niet kopiëren en plakken in Excel?
 
Code:
Option Explicit

Public Sub Meterstanden()

    Dim avntBR As Variant
    Dim avntData As Variant
    Dim iavntBR As Long
    Dim iavntData As Long
    Dim objTable As Object
    Dim strTD As String
    
    Cells(4, 1).CurrentRegion.Offset(1, 0).ClearContents

    With GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}")    ''class id of InternetExplorerMedium
        .Visible = True    'false
        .navigate "http://192.168.178.25/log"
        Do
            DoEvents
        Loop While .Busy Or .ReadyState <> 4
        Application.Wait DateAdd("s", 2, Now)
        Set objTable = .document.getelementsbytagname("table")(0)
        strTD = objTable.getelementsbytagname("td")(0).innertext
        avntBR = Split(strTD, vbCrLf)
        For iavntBR = LBound(avntBR) To UBound(avntBR)
            avntData = Split(avntBR(iavntBR), " ")
            For iavntData = LBound(avntData) To UBound(avntData)
                Cells(iavntBR + 5, iavntData + 1).Value = "'" & Replace(avntData(iavntData), "*", " ")
            Next
        Next
        .Quit
    End With
End Sub
CreateObject("InternetExplorer.Application") gaf bij mij problemen
Omdat het stukje code
Code:
function RefreshMe(){window.location = window.location}setTimeout('RefreshMe()', 3000);
in de webpagina, steeds update, mislukte de getElementsByTagName.
Daarom gebruik ik de GetObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") dit is een andere aanduiding voor InternetExplorerMedium.
InternetExplorerMedium is een dommere, minder veilige, versie van InternetExplorer, perfect voor het oplossen van dit probleem.

bron: https://docs.microsoft.com/en-us/pr.../ie-developer/platform-apis/aa752084(v=vs.85)

zie ook http://a-shops-ranking.com/questions/30894/excel-vba-besturing-van-ie-lokaal-intranet
 
Laatst bewerkt:
Alphamax,

Ik krijg de foutmelding "Methode Bus object IWEB browser 2 is mislukt"

Hij blijft hangen op "Loop While , Busy Or .Ready State <> 4

Site uitlezing slimme meter is zichtbaar.

Enig idee wat er loos is?

Jaap
 
Geen idee.
Bij het schrijven van de code (windows7en32bit, office2007nl) moet ik alles simuleren omdat ik niet jouw site heb.
Dus er is een kans dat het bij jou niet werkt.
Google "method busy of object iwebbrowser2 failed" misschien dat je met de zoekresultaten hiervan verder komt
 
Laatst bewerkt:
Oké , ga ik doen.

Ik begrijp dat het moeilijk adviseren is voor u
omdat je niet bij de site kan komen.
Heb toch veel opgestoken van de oplossing door u geboden.
Dank u wel.
Vriendelijke groet Jaap
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan