Comunique-se entre Excel e PHP

Índice

Estou gostando muito do WinHTTP e dos serviços da Web (especificamente REST). Mesmo que eu precise pesquisar um pouco para cada pequena coisa que aprendo, e estou apenas começando, vale a pena.

Ontem à noite, descobri como fazer um roundtrip de uma variável de VBA para PHP e vice-versa. Em outras palavras, aprendi como passar uma variável VBA para uma função PHP (que reside em um arquivo no servidor AutomateExcel), manipular a variável e retornar o novo resultado de volta ao VBA.

Nota: a variável é enviada como string.

Por exemplo, a caixa de mensagem nesta imagem foi recebida por:

1. Enviando uma variável contendo o número 15 sobre HTTP para um arquivo PHP no AutomateExcel

2. Uma função PHP pega a variável, multiplica-a por 500 e retorna a resposta, neste caso 7500

3. O VBA lê a resposta e retorna a resposta em um msgbox

Esta é a aparência do código PHP. Abra o bloco de notas, copie e cole essas informações, salve o arquivo com a extensão php e faça upload para o seu servidor:

12345678910111213141516

Não retornei a resposta em XML para manter o exemplo simples. Este é o código VBA para enviar e receber os dados, altere a string de conexão para apontar para o arquivo php que você acabou de criar:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 'Adicionar uma referência aos Serviços WinHTTP da MicrosoftConst HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0Sub GetItems privado ()Dim MyCon As New WinHttpRequestDim sendthis As DoubleDim myanswer As String'variável para enviarsendthis = 15'String de conexão para enviarMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" & _"? PassThis =" & enviar isto'Envie istoMyCon.Send'devolvermyanswer = MyCon.ResponseTextMsgBox myanswerEnd Sub

Nota: Adicione uma referência aos Serviços WinHTTP da Microsoft

Fantástico!

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave