Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Alternar entre Excel e Google Chrome via VBA

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Jonyyy22
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Sáb Mar 31, 2018 7:51 am

Alternar entre Excel e Google Chrome via VBA

Mensagem por Jonyyy22 »

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


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder