Excel ve PHP Arasında İletişim Kurun

İçindekiler

WinHTTP ve Web Servisleri (özellikle REST) ​​işlerinden gerçekten keyif alıyorum. Öğrendiğim her küçük şey için biraz araştırmam gerekmesine ve yeni başlıyor olmama rağmen buna değer.

Dün gece, bir değişkeni VBA'dan PHP'ye nasıl geri döndüreceğimi buldum. Başka bir deyişle, bir VBA değişkenini bir PHP işlevine (AutomateExcel sunucusundaki bir dosyada bulunan) iletmeyi, değişkeni değiştirmeyi ve ardından yeni sonucu VBA'ya geri döndürmeyi öğrendim.

Not: Değişken bir dize olarak gönderilir.

Örneğin, bu resimdeki mesaj kutusuna şu kişi tarafından ulaşıldı:

1. AutomateExcel'deki bir PHP dosyasına HTTP üzerinden 15 sayısını tutan bir değişken göndermek

2. Bir PHP işlevi değişkeni alır, 500 ile çarpar, ardından yanıtı döndürür, bu durumda 7500

3. VBA yanıtı okur ve yanıtı bir mesaj kutusunda döndürür

İşte PHP kodunun nasıl göründüğü. Not defterini açın, bu bilgiyi kopyalayıp yapıştırın, dosyayı php uzantılı kaydedin ve sunucunuza yükleyin:

12345678910111213141516

Örneği basit tutmak için cevabı XML'de döndürmedim. Verileri göndermek ve almak için VBA kodu, bağlantı dizesini yeni oluşturduğunuz php dosyasına işaret edecek şekilde değiştirin:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 ' Microsoft WinHTTP Hizmetlerine bir referans ekleyinSabit HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Özel Alt GetItems()MyCon'u Yeni WinHttpRequest Olarak KarartınDim sendthis As DoubleDize olarak cevabımı karart'gönderilecek değişkengönder bu = 15'Gönderilecek bağlantı dizesiMyCon.Aç "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"?PassThis=" & bunu gönder'gönderMyCon.Gönder'Geri vermekcevabım = MyCon.ResponseTextMsgBox cevabımAlt Bitiş

Not: Microsoft WinHTTP Hizmetlerine bir referans ekleyin

Bu harika!

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave