Well, I set up a macro in VBA that triggers automatic messages according to some parameters determined in the table. The macro basically works by pressing keys on the keyboard, very simple.
In short, the macro opens the browser on the Whats Web page, copies the contact that will already be determined in the table, paste in the search field, find the contact, copy the message that will also be determined in a TextBox in the table and paste the message to the recipient. It turns out that when the contact is not found, it does not identify this and the macro no longer works.
I basically need the macro to recognize when the contact is not found and skip to the next contact.
Sub Botão6_Clique()
'Declaração das variáveis
Dim contato As String
Dim retorno As String
Dim concluido As String
Dim veiculo As String
Dim cadastro As String
Dim transferencia As String
Dim substituicao As String
Dim desalienacao As String
Dim html As String
veiculo = Sheets(1).veiculo
cadastro = Sheets(1).cadastro
transferencia = Sheets(1).transferencia
substituicao = Sheets(1).substituicao
desalienacao = Sheets(1).desalienacao
'atribui a variável linha o número 2, para iniciar na segunda linha da primeira coluna
linha = 2
'Chama o navegador e abre no link setado
ActiveWorkbook.FollowHyperlink "https://web.whatsapp.com/"
'Vai percorrer toda lista de contatos, até que ela encerre
Do Until Sheets(1).Cells(linha, 2) = ""
'Chama função de espera por 2 segundos
Fazer (15000)
contato = Cells(linha, 2)
'Se não tiver nenhum contato, aparece msg box e solicita a inclusão de algum
If contato = "" Then
MsgBox "Preencha os contatos"
Exit Sub
End If
retorno = Cells(linha, 4)
concluido = Cells(linha, 5)
'RETORNO VEÍCULO
If retorno = "Veículo" And concluido <> "ok" Then
'Chama a função de espera por 3 segundos
Fazer (15000)
'Aperta as teclas do teclado
Call SendKeys("{TAB}", True)
Call SendKeys("{BS 1000}", True)
Call SendKeys(contato, True)
Call SendKeys("~", True)
'Chama a função de espera por 8 segundos e envia a mensagem
Fazer (15000)
Call SendKeys(veiculo, True)
Call SendKeys("~", True)
Call SendKeys("{TAB}", True)
'RETORNO CADASTRO
ElseIf retorno = "Cadastro" And concluido <> "ok" Then
'Chama a função de espera por 3 segundos
Fazer (15000)
'Aperta as teclas do teclado
Call SendKeys("{TAB}", True)
Call SendKeys("{BS 1000}", True)
Call SendKeys(contato, True)
Call SendKeys("~", True)
'Chama a função de espera por 8 segundos e envia a mensagem
Fazer (15000)
Call SendKeys(cadastro, True)
Call SendKeys("~", True)
Call SendKeys("{TAB}", True)
'RETORNO TRANSFERÊNCIA
ElseIf retorno = "Transferência" And concluido <> "ok" Then
'Chama a função de espera por 3 segundos
Fazer (15000)
'Aperta as teclas do teclado
Call SendKeys("{TAB}", True)
Call SendKeys("{BS 1000}", True)
Call SendKeys(contato, True)
Call SendKeys("~", True)
'Chama a função de espera por 8 segundos e envia a mensagem
Fazer (15000)
Call SendKeys(transferencia, True)
Call SendKeys("~", True)
Call SendKeys("{TAB}", True)
'RETORNO SUBSTITUIÇÃO
ElseIf retorno = "Substituição" And concluido <> "ok" Then
'Chama a função de espera por 3 segundos
Fazer (15000)
'Aperta as teclas do teclado
Call SendKeys("{TAB}", True)
Call SendKeys("{BS 1000}", True)
Call SendKeys(contato, True)
Call SendKeys("~", True)
'Chama a função de espera por 8 segundos e envia a mensagem
Fazer (15000)
Call SendKeys(substituicao, True)
Call SendKeys("~", True)
Call SendKeys("{TAB}", True)
'RETORNO DESALIENAÇÃO
ElseIf retorno = "Desalienação" And concluido <> "ok" Then
'Chama a função de espera por 3 segundos
Fazer (15000)
'Aperta as teclas do teclado
Call SendKeys("{TAB}", True)
Call SendKeys("{BS 1000}", True)
Call SendKeys(contato, True)
Call SendKeys("~", True)
'Chama a função de espera por 8 segundos e envia a mensagem
Fazer (15000)
Call SendKeys(desalienacao, True)
Call SendKeys("~", True)
Call SendKeys("{TAB}", True)
End If
linha = linha + 1
Loop
End Sub
Function Fazer(ByVal Acao As Double)
Application.Wait (Now() + Acao / 24 / 60 / 60 / 1000)
End Function