Como usar API ChatGPT no Excel VBA

MR
Marcos Rieper

Especialista em Excel

13 de fevereiro de 2023 Atualizado 08 de julho de 2026 4 min de leitura
Como integrar chatgpt com api no Excel com VBA 5

Neste artigo aprenda como usar a API do ChatGPT no Excel com VBA com a planilha gratuita para download.

O ChatGPT é um sistema de inteligência artificial criado pela OpenAI, ele usa o modelo de deep learning GPT-3 que foi treinado com uma enorme quantidade de texto para criar respostas.

Nesta planilha você verá como podemos usar gratuitamente o ChatGPT no Excel à partir do consumo da sua API e uso do VBA no Excel.

No vídeo você aprenderá detalhes do código fonte, abaixo tem também o código fonte de como foi conectar com a API e download do artigo da planliha.

Importante que este exemplo serve também para conexão com outras API's com VBA no Excel. Então pode ser facilmente adaptado.

Planilha de API ChatGPT no Excel com VBA

Este projeto funciona da seguinte forma:

  1. É digitado na célula de Texto a pergunta para o ChatGPT.
  2. Ao clicar em Enviar é enviada a mensagem para a API do ChatGPT com VBA
  3. O retorno que temos é a resposta do ChatGPT, o mesmo que vemos no link: https://chat.openai.com/
  4. Assim temos os cálculos retornados na célula de resposta, é então preenchida a pergunta e a resposta e quando fazemos novas perguntas vai adicionando a pergunta e a resposta na célula de resposta.

Como Criar um Código de API no ChatGPT

Para usar a planilha você precisa primeiro criar um código de API para o ChatGPT.

Crie o código da API no link: https://platform.openai.com/account/api-keys.

No momento é gratuito, então você consegue criar o código ali, copie ele no momento da geração.

Na configuração da planilha você cola o código da API do ChatGPT criada no site.

Nele você vê também os links do chatgpt, para a criação de conta do API key e também o link de referência para a comunicação, caso queira aprender mais sobre a API.

Código VBA para API do ChatGPT no Excel

Abaixo temos a estrutura de leitura e comunicação do VBA com a API.

Veja que abaixo temos o módulo criado e também o jsonlib que é uma biblioteca para ler um retorno json.

No Módulo1 temos o código VBA que realiza a comunicação com a API do ChatGPT.

Para o projeto é necessário usar uma biblioteca chamada Microsoft XML, v6.0.

Clique em Ferramentas->Referências e marque a opção Microsoft XML, v6.0.

O código VBA que realiza a comunicação com o VBA é o seguinte:

Option Explicit

Global lCodigo As Long

Sub lsEnviarAPIChatGPT()
    Dim xmlHttp                 As MSXML2.XMLHTTP60
    Dim jsonText                As String
    Dim APiKey                  As String
    Dim lstrRetorno             As String
    
    If base.Range("Texto").Value = "" Then
        Exit Sub
    End If
    
    APiKey = Configuracao.Range("api").Value 'varivel com a chave
    
    Set xmlHttp = New MSXML2.XMLHTTP60
    
    ' API endpoint URL
    xmlHttp.Open "POST", "https://api.openai.com/v1/completions", False
    
    xmlHttp.setRequestHeader "Authorization", "Bearer " + APiKey
    xmlHttp.setRequestHeader "Content-Type", "application/json"
    
    ' Request body
    jsonText = "{""model"":""text-davinci-003""," & _
               """prompt"":""" & base.Range("Texto").Value & """," & _
               """max_tokens"":2048," & _
               """temperature"":0}"
    
    lCodigo = lCodigo + 1
    
    xmlHttp.send (jsonText)
    
    If xmlHttp.Status = 200 Then
        If base.Range("Resposta").Value = "" Then
            base.Range("Resposta").Value = lCodigo & ". " & base.Range("Texto").Value
            base.Range("Resposta").Value = base.Range("Resposta").Value & lfLerJson(xmlHttp.responseText)
        Else
            base.Range("Resposta").Value = base.Range("Resposta").Value & vbCrLf & lCodigo & ". " & base.Range("Texto").Value
            base.Range("Resposta").Value = base.Range("Resposta").Value & lfLerJson(xmlHttp.responseText)
        End If
    Else
        MsgBox "Request failed with status code: " & xmlHttp.Status
    End If
    
    base.Range("texto").Value = ""
    
    Set xmlHttp = Nothing

End Sub

Public Function lfLerJson(ByVal lTexto As String) As String
    Dim j       As JsonLib
    Dim i       As Long
    Dim o       As Object
    
    Set j = New JsonLib
    Set o = j.parse(lTexto)
    
    lfLerJson = lfLerJson & o("choices")(1)("text") & vbCrLf
    
End Function

Public Sub lsLimpar()
    lCodigo = 0

    base.Range("texto").Value = ""
    base.Range("resposta").Value = ""
End Sub

Além disso o código VBA é explicado também no vídeo ao topo do artigo e o download está no botão abaixo, bastando colocar o código da API.

Download da Planilha API ChatGPT

Clique no botão abaixo para realizar o  download do arquivo de exemplo:

Download — baixe aqui: Planilha API ChatGPT Excel VBA

Preencha seus dados para receber o link de download no seu e-mail.

Principais recursos

Confira o que este material oferece para você.

Organização por data e etapas
Classificação automática
Ranking e destaques
Fluxos e etapas automáticas
Dashboard com indicadores
Atualização automática por fórmulas

Perguntas frequentes

O material é realmente gratuito?

Sim. O acesso é gratuito e não exige cadastro.

Preciso ter o Excel instalado?

Recomendamos o Excel 2013 ou superior para todos os recursos.

Como faço para receber atualizações?

As atualizações são automáticas dentro da própria planilha.

Funciona no Excel do Mac?

Sim, funciona no Excel para Windows e para Mac.

Funciona no celular?

É possível visualizar no app do Excel; a edição completa é no computador.

Planilhas relacionadas

Planilha de Fluxo de Caixa

Planilha de Fluxo de Caixa

(1.327)

R$ 89,90

Controle de Estoque

Controle de Estoque

(962)

R$ 69,90

Planilha Financeira Empresarial

Planilha Financeira Empresarial

(1.254)

R$ 79,90

Dashboard Financeiro no Excel

Dashboard Financeiro no Excel

(689)

R$ 49,90

Continue lendo

Curso Excel Master — Básico ao Avançado, VBA, PowerPoint e mais

Receba conteúdos e novidades direto no seu e-mail

Dicas, tutoriais, planilhas gratuitas e muito mais.

Não enviamos spam. Cancele quando quiser.

Download imediato

Acesso na hora após a compra

Compra 100% segura

Seus dados protegidos com SSL

Acesso vitalício

Use para sempre, sem mensalidades

Suporte via WhatsApp

Atendimento rápido e humanizado