Összeállítottam egy alapvető szkriptet az XML -karakterlánc vagy fájl elküldéséhez egy webszerverre Excel VBA használatával, és egy egyszerű PHP -szkriptet az adatok fogadásához. A folyamat XMLHTTP -t használ.
A cél egy egyszerű feltöltési parancsfájl létrehozása, amely frissíti a kiszolgálót a táblázatból létrehozott XML -adatokkal. Ezután több végfelhasználói munkafüzetet rendeljen hozzá a központi fájlhoz, és készítsen jelentéseket belőle. Az alapvető anyák és csavarok:
A példában egy alap XML karakterláncot használok, amely így néz ki:
1234567891011 | myxml = "<? xml version =" "1.0" "?>" & _"" & _"férfi póló" & _"4.89" & _"nagy" & _"" |
Az általam használt PHP egyszerűen visszaadja az Excelnek küldött adatokat. Tehát ha ugyanazokat az XML -adatokat kapja, amelyeket egy üzenetmezőben küldött, akkor helyesen tette. Ha nem talál posztadatokat, akkor azt mondja: „nincs kocka”. A teszt URL helye /pl/xlxml.php
Nyilvánvalóan frissíteni szeretné a szkriptet, hogy a fájlok tartalmát a szerverre mentse a gyakorlati használatra. Itt a PHP az XML bejegyzés adatainak fogadásához és visszaküldéséhez:
1234567891011121314151617 |
Tehát most már tudjuk, hogy mit küldünk, és hogyan fogadjuk, küldjük el az XML adatokat!
A következő kód az Excel 2003-ban készült, és a VB szerkesztőben az Eszközök-> Referenciák-> Microsoft XML v5.0 hivatkozással készült. Jól megjegyezte, így mindent láthat, ami történik:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | Sub SendXML ()'HTTP változóDim myHTTP mint MSXML2.XMLHTTP'HTTP objektumA myHTTP = CreateObject beállítása ("msxml2.xmlhttp")'hozzon létre dom dokumentum változót'tárolja az elküldendő xml -tDim myDom mint MSXML2.DOMDocument'Hozza létre a DomDocument objektumotSet myDom = CreateObject ("MSXML2.DOMDocument")'Töltse be a teljes dokumentumot, mielőtt továbblépmyDom.async = Hamis'xml karakterlánc változó'fájl helyett vagy URL -ből történő küldés esetén helyére kell cserélniDim myxml karakterlánckéntmyxml = "<? xml version =" "1.0" "?>" & _"" & _"férfi póló" & _"4.89" & _"nagy" & _""'betölti az xml -t'változás .Load fájlhoz vagy URL -hezmyDom.loadXML (myxml)'nyissa meg a kapcsolatotmyHTTP. Nyissa meg a "bejegyzést", _"https://www.automateexcel.com/excel/pl/xlxml.php", Hamis'küldje el az XML -tmyHTTP.Send (myDom.XML)'Jelenítse meg a választMsgBox myHTTP.ResponseTextEnd Sub |
Ha idáig eljutott, hozzáadott egy hivatkozást és futtatta a kódot, látni fogja, hogy a PHP valóban megkapta és visszaadta az XML -t:
Megjegyzések: Az XML -t csak dinamikusan hoztam létre, vagy XML -fájlokból és URL -ekből töltöttem be, a következő lépés az adatok küldése egy XML -térképről.
Visszhangoltam az adatokat az Excelbe, ahelyett, hogy a szervernek írtam volna, mert az URL nyilvános, szerettem volna egy homokozót adni az embereknek, és nem véletlenszerű fájlokat küldeni a szerverre.