Guia do Excel

Como Enviar WhatsApp com Excel e VBA

Aprenda a automatizar o envio de mensagens e arquivos no WhatsApp com Excel VBA. Tutorial completo com código para disparos de whatsapp.

MR
Marcos Rieper

Especialista em Excel

Atualizado em 08 de julho de 2026 Publicado em 03 de fevereiro de 2026 7 min de leitura

A automação de tarefas repetitivas é um dos pilares da produtividade moderna. Uma das demandas mais comuns no mundo corporativo é o envio em massa de mensagens, cobranças ou relatórios via WhatsApp.

Neste artigo, vamos dissecar uma solução prática usando Excel VBA e a técnica de SendKeys para enviar mensagens e anexos automaticamente, sem a necessidade de APIs pagas.

Material gratuito

Planilha de Controle Financeiro no Excel

Tenha um controle bonito e completo do seu financeiro.

  • Categorias e subcategorias já configuradas
  • Planilhas separadas por tabela (configuração, lançamentos, resumo)
  • Personalize com suas próprias categorias e ícones

Baixe grátis — receba o link no seu e-mail

1. Estruturando a Planilha de Controle

Para que o código VBA funcione, a planilha precisa estar organizada de forma padronizada. O script lê linha por linha para identificar quem deve receber a mensagem.

O Layout da Ferramenta

A interface deve ser limpa e funcional. Conforme vemos na imagem abaixo, temos um cabeçalho simples e um botão para disparar a macro.

Organização das Colunas

A lógica do código depende estritamente da posição das colunas. Baseado no código e na imagem dos dados, a estrutura deve ser:

  • Coluna B (Contato): Nome exato do contato ou número (como salvo na agenda/WhatsApp).
  • Coluna C (Mensagem): O texto que será enviado.
  • Coluna D (Tipo): Define se o anexo é "ARQUIVO" (documentos gerais) ou "IMAGEM".
  • Coluna E (Arquivo 1): O caminho completo do arquivo no computador (ex: C:\User\Documentos\boleto.pdf).
  • Coluna F (Data e Hora): Onde o código registrará automaticamente quando o envio foi feito.

Dica de SEO para Planilhas: Mantenha seus dados tabulados. O código verifica se a Coluna F está vazia. Se estiver, ele envia. Se já tiver data, ele pula. Isso evita envios duplicados.

Enviar whatsapp excel vba 1

2. O Motor da Automação: Entendendo o Código VBA

O segredo dessa automação está no Visual Basic for Applications (VBA). O código utiliza a função SendKeys, que simula o pressionamento de teclas do teclado (como TAB, ENTER) para "navegar" pelo WhatsApp Web no navegador Chrome.

Abaixo, explicamos o funcionamento do script lsNovoEnviarWhatsApp bloco por bloco:

Variáveis e Inicialização

VBA

Public Sub lsNovoEnviarWhatsApp()
    Dim lUltimaLinha    As Long
    Dim i               As Long
    Dim lContato        As String
    ' ... outras declarações ...

    'Abre o WhatsApp no Chrome
    Shell "C:\Program Files\Google\Chrome\Application\chrome.exe" & " https://web.whatsapp.com/"

    Application.Wait Now + TimeValue("00:00:10")
  • O que faz: Abre o Google Chrome diretamente no site do WhatsApp Web.
  • Importante: O comando Wait pausa o Excel por 10 segundos. Esse tempo é crucial para dar tempo ao site carregar e conectar ao seu celular.

O Loop de Verificação

VBA

    lUltimaLinha = WhatsApp.Cells(WhatsApp.Rows.Count, 2).End(xlUp).Row

    'Faz o loop pelas linhas da tabelas (começando da linha 7)
    For i = 7 To lUltimaLinha
        If WhatsApp.Cells(i, 6).Value = "" Then
            ' Carrega as variáveis com os dados da planilha
            lContato = WhatsApp.Cells(i, 2).Value
            lMensagem = WhatsApp.Cells(i, 3).Value
            lTipo = UCase(WhatsApp.Cells(i, 4).Value)
            lArquivo = WhatsApp.Cells(i, 5).Value
  • Lógica: O código varre a planilha da linha 7 até a última preenchida.
  • Filtro: A condição If WhatsApp.Cells(i, 6).Value = "" garante que apenas linhas sem data de envio (pendentes) sejam processadas.

Esta é a parte mais crítica do SendKeys. O código pressiona TAB repetidamente para mover o cursor do navegador até a caixa de busca do WhatsApp.

VBA

            If i = 7 Then
                'Primeiro contato: Precisa de 4 TABs para chegar na busca
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
                SendKeys "{TAB}", True
            Else
                'Próximos contatos: O foco já está na área certa, repete a navegação
                Application.Wait Now + TimeValue("00:00:02")
                ' ...sequência de TABS...
            End If

            SendKeys lContato  ' Digita o nome do contato
            SendKeys "{ENTER}" ' Entra na conversa

Envio de Anexos (Arquivos ou Imagens)

O código diferencia o tipo de anexo para saber como navegar no menu "Clips" (Anexar) do WhatsApp.

VBA

            'Enviar arquivo
            If lTipo = "ARQUIVO" Then
                SendKeys "+{TAB}" ' Shift + TAB (Volta para o ícone de clips)
                ' ... navegação para selecionar Documento ...
                SendKeys lArquivo ' Cola o caminho do arquivo
            Else
                ' Lógica para Imagem (Geralmente desce uma seta a mais no menu)
                SendKeys "+{TAB}"
                SendKeys "{DOWN}" ' Desce para selecionar Fotos/Vídeos
                ' ...
            End If
  • SendKeys "+{TAB}": Representa o atalho Shift + Tab. No WhatsApp Web, isso move o foco da caixa de texto para o botão de anexar (o clipe de papel).
  • Caminho do Arquivo: O código "digita" o caminho do arquivo na janela de upload do Windows e aperta Enter para carregar.

Finalização e Registro

VBA

            'Gravar a data e horário de envio para não enviar novamente
            WhatsApp.Cells(i, 6).Value = Now
        End If
    Next i

    MsgBox "Mensagens enviadas!"
End Sub

Ao final do envio de cada linha, o Excel carimba a data atual na Coluna F. Isso evita spam ou duplicidade caso você rode a macro novamente.

3. Requisitos e Cuidados

Para que essa automação funcione perfeitamente, considere os pontos abaixo:

  1. Nome da Planilha: No código, o objeto da planilha é chamado de WhatsApp. Certifique-se de que, no VBE (Janela de Propriedades), o CodeName da sua planilha seja alterado para WhatsApp ou altere o código para Sheets("NomeDaAba").
  2. Não toque no mouse: O método SendKeys simula seu teclado. Se você clicar em outra janela enquanto o código roda, o Excel começará a "digitar" na janela errada, causando erros.
  3. Caminho do Chrome: Verifique se o caminho C:\Program Files\Google\Chrome\Application\chrome.exe é o correto para o seu computador.
  4. Resolução da Tela: A quantidade de vezes que o comando {TAB} é pressionado pode variar dependendo do zoom do navegador ou tamanho do monitor. Se o código não encontrar a barra de busca, ajuste a quantidade de SendKeys "{TAB}".

Código VBA de Envio de Whatsapp Excel VBA

Código pronto para envio de whatsapp em Excel com VBA.

Public Sub lsNovoEnviarWhatsApp()
    Dim lUltimaLinha    As Long
    Dim i               As Long
    Dim lContato        As String
    Dim lMensagem       As String
    Dim lArquivo        As String
    Dim lTipo           As String
       
    'Abre o WhatsApp
    Shell "C:\Program Files\Google\Chrome\Application\chrome.exe" & " https://web.whatsapp.com/"
    
    Application.Wait Now + TimeValue("00:00:10")
    
    lUltimaLinha = WhatsApp.Cells(WhatsApp.Rows.Count, 2).End(xlUp).Row
    
    'Faz o loop pelas linhas da tabelas
    For i = 7 To lUltimaLinha
        If WhatsApp.Cells(i, 6).Value = "" Then
            lContato = WhatsApp.Cells(i, 2).Value
            lMensagem = WhatsApp.Cells(i, 3).Value
            lTipo = UCase(WhatsApp.Cells(i, 4).Value)
            lArquivo = WhatsApp.Cells(i, 5).Value
            
            'Localiza o contato e envia a mensagem
            If i = 7 Then
                'Primeiro contato
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                'SendKeys "{TAB}"
                'SendKeys "{TAB}"
            Else
                Application.Wait Now + TimeValue("00:00:02")
                'Próximo contato
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
            End If
            
            Application.Wait Now + TimeValue("00:00:02")
            SendKeys lContato
            Application.Wait Now + TimeValue("00:00:02")
            SendKeys "{ENTER}"
            SendKeys lMensagem
            Application.Wait Now + TimeValue("00:00:03")
            SendKeys "{ENTER}"
            
            'Enviar arquivo
            If lTipo = "ARQUIVO" Then
                SendKeys "+{TAB}"
                SendKeys "+{TAB}"
                SendKeys "{ENTER}"
                SendKeys "{ENTER}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys lArquivo
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
            Else
                SendKeys "+{TAB}"
                SendKeys "+{TAB}"
                SendKeys "{ENTER}"
                SendKeys "{DOWN}"
                SendKeys "{ENTER}"
                SendKeys "{TAB}"
                SendKeys "{TAB}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys lArquivo
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
                Application.Wait Now + TimeValue("00:00:03")
                SendKeys "{ENTER}"
            End If
            
            'Gravar a data e horário de envio
            WhatsApp.Cells(i, 6).Value = Now
        End If
    Next i
    
    MsgBox "Mensagens enviadas!"
    
End Sub

Conclusão

Esta macro é uma solução poderosa e de custo zero para pequenas e médias empresas que precisam automatizar a comunicação. Ao combinar a estruturação de dados do Excel com a automação de interface do VBA, você economiza horas de trabalho manual.

Download Planilha Enviar WhatsApp Excel VBA

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

Download — baixe aqui: Enviar Whatsapp Excel 2026
Enviar Whatsapp Excel 202640 KB · Excel 2010 ou superior · com macrosPreencha seus dados para receber o link de download no seu e-mail.

Este conteúdo foi útil?

Continue lendo