Permalänk

Excel 2010 XML VB

Hej, jag har nu suttit och letat lite efter hur jag kan ladda in statistik från EVE Central till mitt Excel dokument. Det jag strävar efter är att skriva en VB funktion som tar item ID och system ID och svarar i Sell/buy price. Ja, jag vet att man kan "importera data från web" i excel så att man får en tabell. Men det är inte det jag vill göra. Det skulle fungera men det blir inte en så snygg lösning. Det blir heller inte i närheten av lika snabbt och smidigt.

I vilket fall så fungerar EVE Centrals API så att man skickar en request: "http://api.eve-central.com/api/marketstat?typeid=34&usesystem..." där typeid är item ID och usesystem är system ID. Tillbaka får man ett svar i XML (Testa att köra länken ovan i webbläsaren). Nu undrar jag då följande: Hur kan jag göra den här requesten i VB och plocka ut datan ur en specifik XML tagg? Mer information om EVE Centrals API finns på "http://eve-central.com/home/develop.html".

Man kan även bygga COMs istället, kan det vara ett bättre alternativ?

Kan också säga att jag inte är ett VB proffs, utan mest har programmerat C, C++ och C# tidigare.

Reserverar mig själv för amatörmässiga misstag.

Visa signatur

Intelligent idé, varje gång de behöver förstöra information som de har använt för ett signalspaningsuppdrag bränner de en raidarray i sitt centrala disksystem.

Effektivt användande av skattepengar? Kom du på idén när du låg i badkaret?

Permalänk
Medlem

Lägg till en referens till:

Microsoft XML, v6.0

Sedan kan du köra koden nedan och en meddelande ruta kommer visa den XML som du fick till svar. Denna kan du parsa på valfritt sätt för att utläsa värden.

Dim xHttp As MSXML2.XMLHTTP
Dim httpAddress As String
Dim responseString As String

Set xHttp = New MSXML2.XMLHTTP

httpAddress = "http://api.eve-central.com/api/marketstat?typeid=34&usesystem..."

xHttp.Open "POST", httpAddress, False
xHttp.Send

responseString = xHttp.ResponseText

MsgBox responseString

Visa signatur

ASUS ROG Strix X570-F, AMD Ryzen 9 5900X, ASUS GTX 1080 Ti Strix Gaming OC, 32GB G.Skill Trident Z Neo CL16 3600MHz, Arctic Freezer II 240, Seasonic Prime Titanium 850W, Phanteks Enthoo Evolv X, 2x Samsung 970 EVO Plus 1TB, Seagate Firecuda 2TB, Seagate Ironwolf 4TB, ASUS PG278Q

ASUS ROG Crosshair VI Hero, AMD Ryzen 9 3900X, ASUS RTX 2060 Dual OC, 16GB G.Skill Flare X CL14 3200 MHz @3200 MHz, Arctic Freezer 240, Seasonic Prime Titanium 850W, Phanteks Eclipse P400S Glass, Samsung 960 Pro 512GB, Samsung 850 Pro 512GB, Seagate Ironwolf 4TB, ASUS PG278Q

ASUS Maximus V GENE, Intel i7 3770K @ 4,6 GHz (1.190 V), EVGA GTX 670 FTW SLi, 8GB G.Skill TridentX CL10 2400 MHz, Samsung 850 Pro 512GB, Samsung 840 Pro 256GB, Corsair Hydro H100i, Corsair AX860i, Fractal Design Define R4W, ASUS PG278Q

Permalänk
Skrivet av KeyPakt:

Lägg till en referens till:

Microsoft XML, v6.0

Sedan kan du köra koden nedan och en meddelande ruta kommer visa den XML som du fick till svar. Denna kan du parsa på valfritt sätt för att utläsa värden.

Dim xHttp As MSXML2.XMLHTTP
Dim httpAddress As String
Dim responseString As String

Set xHttp = New MSXML2.XMLHTTP

httpAddress = "http://api.eve-central.com/api/marketstat?typeid=34&usesystem..."

xHttp.Open "POST", httpAddress, False
xHttp.Send

responseString = xHttp.ResponseText

MsgBox responseString

Tack så mycket, det blir verkligen lättare när man har något att gå efter!

Visa signatur

Intelligent idé, varje gång de behöver förstöra information som de har använt för ett signalspaningsuppdrag bränner de en raidarray i sitt centrala disksystem.

Effektivt användande av skattepengar? Kom du på idén när du låg i badkaret?

Permalänk
Medlem
Skrivet av Emilkjellner:

Tack så mycket, det blir verkligen lättare när man har något att gå efter!

Inga problem. Nu var det ganska länge sedan jag utvecklade i VB och när jag väl gjorde det fanns knappt XML

Du bör nog dock kunna använda MSXML2 för att läsa in XML svaret. Kolla denna länk så får du lite tips http://stackoverflow.com/questions/11305/how-to-parse-xml-in-...

Visa signatur

ASUS ROG Strix X570-F, AMD Ryzen 9 5900X, ASUS GTX 1080 Ti Strix Gaming OC, 32GB G.Skill Trident Z Neo CL16 3600MHz, Arctic Freezer II 240, Seasonic Prime Titanium 850W, Phanteks Enthoo Evolv X, 2x Samsung 970 EVO Plus 1TB, Seagate Firecuda 2TB, Seagate Ironwolf 4TB, ASUS PG278Q

ASUS ROG Crosshair VI Hero, AMD Ryzen 9 3900X, ASUS RTX 2060 Dual OC, 16GB G.Skill Flare X CL14 3200 MHz @3200 MHz, Arctic Freezer 240, Seasonic Prime Titanium 850W, Phanteks Eclipse P400S Glass, Samsung 960 Pro 512GB, Samsung 850 Pro 512GB, Seagate Ironwolf 4TB, ASUS PG278Q

ASUS Maximus V GENE, Intel i7 3770K @ 4,6 GHz (1.190 V), EVGA GTX 670 FTW SLi, 8GB G.Skill TridentX CL10 2400 MHz, Samsung 850 Pro 512GB, Samsung 840 Pro 256GB, Corsair Hydro H100i, Corsair AX860i, Fractal Design Define R4W, ASUS PG278Q