Lähetä XML XMLHTTP: llä

Sisällysluettelo

Olen koonnut perusskriptin XML -merkkijonon tai tiedoston lähettämiseen verkkopalvelimelle Excel VBA: ta käyttäen ja yksinkertaisen PHP -komentosarjan tietojen vastaanottamiseksi. Prosessi käyttää XMLHTTP: tä.

Tavoitteena on luoda yksinkertainen lähetysskripti palvelimen päivittämiseksi laskentataulukosta luotuilla XML -tiedoilla. Pyydä sitten useita loppukäyttäjän työkirjoja yhdistämään keskustiedostoon ja luomaan siitä raportteja. Perusmutterit ja pultit:

Käytän esimerkiksi XML -perusmerkkijonoa, joka näyttää tältä:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"miesten polo" & _"4.89" & _"iso" & _""

Käyttämäni PHP yksinkertaisesti palauttaa tiedot, jotka se lähetettiin takaisin Exceliin. Joten jos vastaanotat samat XML -tiedot, jotka lähetit viestiruutuun, olet tehnyt sen oikein. Jos postitietoja ei löydy, se sanoo "ei noppaa". Testi -URL -osoitteen sijainti on /pl/xlxml.php

On selvää, että haluat päivittää komentosarjan tallentaaksesi tiedoston sisällön palvelimellesi käytännön käyttöä varten. Tässä on PHP XML -viestitietojen vastaanottamiseen ja palauttamiseen:

1234567891011121314151617

Joten tiedämme nyt, mitä lähetämme, ja miten se vastaanotetaan, lähetetään XML -tiedot!

Seuraava koodi luotiin Excel 2003: ssa käyttäen VB-editorin viittausta Työkalut-> Viitteet-> Microsoft XML v5.0. Se on hyvin kommentoitu, joten voit nähdä kaiken, mitä tapahtuu:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'HTTP -muuttujaHimmennä myHTTP nimellä MSXML2.XMLHTTP'HTTP -objektiAseta myHTTP = CreateObject ("msxml2.xmlhttp")'Luo dom -asiakirjamuuttuja'tallentaa lähetettävän xml -tiedostonHimmennä myDom nimellä MSXML2.DOMDocumentLuo DomDocument -objektiAseta myDom = CreateObject ("MSXML2.DOMDocument")'Lataa koko asiakirja ennen kuin jatkatmyDom.async = Väärä'xml -merkkijonomuuttujaKorvaa sijainnilla, jos lähetät tiedostosta tai URL -osoitteestaDim myxml merkkijononamyxml = "<? xml version =" "1.0" "?>" & _"" & _"miesten polo" & _"4.89" & _"iso" & _""'lataa xml'muuta tiedostoon tai URL -osoitteeseenmyDom.loadXML (myxml)'avaa yhteysmyHTTP. Avaa "viesti", _"https://www.automateexcel.com/excel/pl/xlxml.php", Väärä'Lähetä XMLmyHTTP.Send (myDom.XML)'Näytä vastausMsgBox myHTTP.ResponseTextEnd Sub

Jos olet päässyt tähän asti, lisännyt viitteen ja suorittanut koodin, huomaat, että PHP vastaanotti ja palautti XML: n:

Huomautuksia: Olen luonut XML: n vain dynaamisesti tai ladannut sen XML -tiedostoista ja URL -osoitteista, seuraavaksi on lähetettävä tietoja XML -kartalta.

Toin tiedot takaisin Exceliin sen sijaan, että kirjoittaisin ne palvelimelle, koska URL -osoite on julkinen, halusin antaa ihmisille hiekkalaatikon, eikä satunnaisia ​​tiedostoja lähetetä palvelimelleni.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave