Variable uitlezen

Status
Niet open voor verdere reacties.

gridishere

Gebruiker
Lid geworden
5 nov 2009
Berichten
283
Goedenavond allen,

Hoe is mogelijk om met VBA 12345.14000000 alleen uit {"color":"red","rgb":"12345.14000000"} te halen? Ik bedoel op de manier dat de waarden altijd tussen die laatste quotes worden gehaald. De naam van de variable is objHTTP.response

Ik werk in de VBA editor in Excel.

Bedankt :-)

Mark
 
Met split en replace.

objHTTP.response lijkt mij niet de naam van een variabele.

Code:
x= split(objHTTP.response,":")
msgbox replace(x(ubound(x),"}","")

of zoiets.
 
Goedenavond VenA,

Bij het invoegen gaat er echter niet iets helemaal goed:

Helpmij.png

:-)

Groet,

grid
 
Code:
x = Split(objHTTP.response[COLOR="#FF0000"]text[/COLOR], ":")
MsgBox Replace(x(UBound(x)[COLOR="#FF0000"])[/COLOR], "}", "")
 
Bedankt! De output komt nu nog tussen quotes maar het gaat nu wel beter :) Kan je hier ook nog bij helpen?
 
Bij het invoegen gaat er echter niet iets helemaal goed:

Jij komt toch met nagenoeg niets. Dan kan je zelf toch wel uitvogelen dat er ergens een haakje mist?
 
Laatst bewerkt:
@PHP4U, die URL had ik ook al gevonden maar ik wil het wat simpel houden :)
@VenA, ik was er inmiddels zelf ook al uitgekomen:

Code:
    x = Split(objHTTP.responsetext, ":")
    Range("A1") = Replace(x(UBound(x)), "}", "")
    
    y = Replace(x(UBound(x)), "}", "")
    Range("A2") = Replace(y, Chr(34), "")

1 liners vind ik nou eenmaal mooier :)

Bedankt,

grid
 
Laatst bewerkt:
Code:
x = Split(objHTTP.responsetext, """:""")
MsgBox Replace(x(UBound(x)), """}", "")
 
@VenA, nee daarom vroeg ik ook door :) maar alphamax heeft het al doorgegeven :)

Bedankt!

grid
 
Code:
MsgBox filter(Split(objHTTP.responsetext, chr(34)),".")(0)
 
@PHP4U, die URL had ik ook al gevonden maar ik wil het wat simpel houden :)
Totdat de het aantal karakters verplaatst, of de volgorde van de JSON wordt aangepast.
Gebruik liever de juiste middelen om je doel te bereiken. Je wilt JSON uitlezen, en dus gebruik je een JSON parser.

Je gaat toch ook niet een drilboor gebruiken om een spijker in een plank te slaan? ;)
 
Met de mini-JSON-parser van windows zelf.
Code:
With CreateObject("ScriptControl")
    .Language = "JScript"
    MsgBox .Eval("(" + objHTTP.ResponseText + ").rgb")
End With
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan