Επικοινωνήστε μεταξύ Excel και PHP

Πίνακας περιεχομένων

Απολαμβάνω πραγματικά τα πράγματα WinHTTP και Web Services (συγκεκριμένα REST). Παρόλο που πρέπει να ερευνήσω αρκετά για κάθε μικρό πράγμα που μαθαίνω και μόλις ξεκινάω, αξίζει τον κόπο.

Χθες το βράδυ κατάλαβα πώς να κάνω μετ 'επιστροφής μια μεταβλητή από VBA σε PHP και αντίστροφα. Με άλλα λόγια, έμαθα πώς να μεταβιβάζω μια μεταβλητή VBA σε μια λειτουργία PHP (που βρίσκεται σε ένα αρχείο στον διακομιστή AutomateExcel), να χειρίζομαι τη μεταβλητή και μετά να επιστρέφω το νέο αποτέλεσμα πίσω στο VBA.

Σημείωση: Η μεταβλητή αποστέλλεται ως συμβολοσειρά.

Για παράδειγμα, το πλαίσιο μηνυμάτων σε αυτήν την εικόνα έφτασε:

1. Αποστολή μιας μεταβλητής που περιέχει τον αριθμό 15 μέσω HTTP σε ένα αρχείο PHP στο AutomateExcel

2. Μια συνάρτηση PHP λαμβάνει τη μεταβλητή, την πολλαπλασιάζει με 500 και μετά επιστρέφει την απάντηση, σε αυτήν την περίπτωση 7500

3. Το VBA διαβάζει την απάντηση και επιστρέφει την απάντηση σε ένα πλαίσιο εικονιδίων

Δείτε πώς φαίνεται ο κώδικας PHP. Ανοίξτε το σημειωματάριο, αντιγράψτε και επικολλήστε αυτές τις πληροφορίες, αποθηκεύστε το αρχείο με την επέκταση php και ανεβάστε το στον διακομιστή σας:

12345678910111213141516

Δεν επέστρεψα την απάντηση σε XML για να κρατήσω το παράδειγμα απλό. Ακολουθεί ο κώδικας VBA για αποστολή και λήψη δεδομένων, αλλάξτε τη συμβολοσειρά σύνδεσης για να δείξετε το αρχείο php που μόλις δημιουργήσατε:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 "Προσθέστε μια αναφορά στις υπηρεσίες Microsoft WinHTTPΚατασκευή HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Ιδιωτικό υπο GetItems ()Dim MyCon As New WinHttpRequestDim sendthis As DoubleDim myanswer As String«μεταβλητή προς αποστολήsendthis = 15'Χορδή σύνδεσης προς αποστολήMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'στειλε τοMyCon. Αποστολή'επέστρεψέ τοmyanswer = MyCon.ResponseTextMsgBox myanswerΤέλος υπο

Σημείωση: Προσθέστε μια αναφορά στις υπηρεσίες Microsoft WinHTTP

Είναι υπέροχο!

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave