Giao tiếp giữa Excel và PHP

Mục lục

Tôi thực sự thích thú với công cụ WinHTTP và Dịch vụ web (cụ thể là REST). Mặc dù tôi cần phải nghiên cứu khá kỹ cho từng điều nhỏ tôi học được và tôi chỉ mới bắt đầu, nhưng điều đó rất xứng đáng.

Đêm qua, tôi đã tìm ra cách chuyển một biến từ VBA sang PHP và ngược lại. Nói cách khác, tôi đã học cách truyền một biến VBA vào một hàm PHP (nằm trong một tệp trên máy chủ AutomateExcel), thao tác với biến, sau đó trả lại kết quả mới cho VBA.

Lưu ý: Biến được gửi dưới dạng một chuỗi.

Ví dụ, hộp thông báo trong hình này được gửi đến bởi:

1. Gửi một biến chứa số 15 qua HTTP tới tệp PHP trên AutomateExcel

2. Một hàm PHP nhận biến, Nhân nó với 500, sau đó trả về câu trả lời, trong trường hợp này là 7500

3. VBA đọc phản hồi và trả về câu trả lời trong hộp thư

Đây là mã PHP trông như thế nào. Mở notepad, sao chép và dán thông tin này, lưu tệp với phần mở rộng php và tải lên máy chủ của bạn:

12345678910111213141516

Tôi đã không trả lại câu trả lời bằng XML để giữ cho ví dụ đơn giản. Đây là mã VBA để gửi và nhận dữ liệu, thay đổi chuỗi kết nối để trỏ đến tệp php bạn vừa tạo:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Thêm tham chiếu đến Dịch vụ Microsoft WinHTTPConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Private Sub GetItems ()Dim MyCon làm WinHttpRequest mớiGiảm số lần gửi này thành đôiLàm mờ myanswer dưới dạng chuỗi'biến để gửisendthis = 15'Chuỗi kết nối để gửiMyCon.Mở "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & sendthis'gửi nóMyCon.Send'trả lạimyanswer = MyCon.ResponseTextMsgBox myanswerKết thúc Sub

Lưu ý: Thêm tham chiếu đến Dịch vụ Microsoft WinHTTP

Điều đó thật tuyệt vời!

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave