Prezados, bom dia!
Por gentileza, poderiam fornecer uma linha de comando simples que faça alternar entre o Excel e o Google Chrome executando pelo VBA?
Digo simples, pois estou fazendo funcionar uma rotina de envio de texto pelo whatsapp, porém a cada loop para o envio de uma nova mensagem eu necessito fazer com que uma nova guia seja aberta para que a url da página do WhatsApp seja aberta novamente.
Acontece que o processo fica lento e às vezes na demora em se abrir a nova guia, a função tempo que implementei se expira fazendo com que a mensagem não seja enviada.
Eis o código:
Contador = 0
Windows(Pasta3).Activate
Sheets("previsão").Select
Range("a4").End(xlToRight).Select
Do
Windows(Pasta3).Activate
Sheets("previsão").Select
Do Until ActiveCell = "momento"
ActiveCell.Offset(0, 1).Select
Loop
Volta:
If ActiveCell.Offset(1, 5) = "não" Then
ActiveCell.Offset(0, 1).Select
GoTo Volta:
ElseIf ActiveCell.Offset(1, 5) = "sim" Then
GoTo Pula:
ElseIf ActiveCell = "" Then
Exit Sub
Else
ActiveCell.Offset(0, 1).Select
GoTo Volta:
End If
Pula:
Contato = ActiveCell.Offset(-1, 0)
Texto1 = ActiveCell.Offset(1, 3) 'Armazena o valor da Oscilação Acumulada (EM TEXTO)
ActiveCell.Offset(1, 0).Select
Do Until ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
Loop
Texto2 = Left(ActiveCell, 10) 'Data de hoje. Exemplo: 18/03/2018
Texto3 = Right(ActiveCell, 5) 'Previsão de agora (hora). Exemplo: 09h25
Texto4 = ActiveCell.Offset(0, 1) 'Valor da previsão do último processamento
Texto5 = ActiveCell.Offset(0, 3) 'Última oscilação
Texto6 = Right(ActiveCell.Offset(1, 0), 5) 'Previsão anterior (hora). Exemplo: 09h25
Texto7 = ActiveCell.Offset(1, 1) 'Valor da previsão do processamento anterior
If Texto7 = "" Then Texto7 = 0
C1 = ActiveCell.Column
Range(Cells(1048576, C1), Cells(1048576, C1)).End(xlUp).Select
Texto8 = Right(ActiveCell, 5) 'Previsão do primeiro processamento (hora). Exemplo: 08h00
Texto9 = ActiveCell.Offset(0, 1) 'Valor do primeiro processamento.
Mensagem0 = " "
Mensagem = Texto2 & " - " & Texto3
Mensagem1 = "Oscilação Acumulada: "
Mensagem2 = Texto1
Mensagem3 = " Oscilação de Agora : " & Texto3
Mensagem4 = Texto5
Mensagem5 = " Previsão de Agora: " & Texto3
Mensagem6 = Texto4
Mensagem7 = "Previsão Anterior: " & Texto6
Mensagem8 = Texto7
Mensagem9 = "1ª Previsão do Dia: " & Texto8
Mensagem10 = Texto9
Mensagem11 = "Executivo[a]: " & Contato
Do Until ActiveCell = "momento"
ActiveCell.Offset(-1, 0).Select
Loop
If Contador = 0 Then
ActiveWorkbook.FollowHyperlink Address:="https://web.whatsapp.com/"
Fazer (10000) '10 segundos
Contador = 1
Else
ActiveWorkbook.FollowHyperlink Address:="https://web.whatsapp.com/"
Fazer (10000) '10 segundos
End If
GND = "John"
Fazer (10000) '10 segundos
Call SendKeys("{TAB}", True)
Call SendKeys(GND, True)
Call SendKeys("~", True)
GoSub Enviando
If ActiveCell = "" Then
Exit Sub
Else
ActiveCell.Offset(0, 1).Select
End If
Loop
Exit Sub
Enviando:
Fazer (12000) '12 segundos
Call SendKeys(Mensagem11, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem1, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem2, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem3, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem4, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem5, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem6, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem7, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem8, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem9, True)
Call SendKeys(Mensagem0, True)
Call SendKeys(Mensagem10, True)
Call SendKeys(Mensagem0, True)
Call SendKeys("~", True)
Fazer (10000)
StatusEnvio = "SIM"
Return
Função de parada:
Function Fazer(ByVal Acao As Double)
Application.Wait (Now() + Acao / 24 / 60 / 60 / 1000)
End Function
Grato
Jonyyy22
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E