Ir para conteúdo
Fórum Script Brasil
  • 0

Macro para excel


neotheone

Pergunta

Bom dia galera do Script Brasil

Tenho uma macro desenvolvida em vba para o excel que realiza o seguinte trabalho:

1º Ela abre uma página na internet

2º Entra com login e senha

3º Entra em uma tela onde você escolhe Bloqueio ou Desbloqueio (são radio buttons),

depois ele digita o DDD e o telefone em seus respectivos campos

4º Agora aperta o Ok para efetuar o bloqueio ou desbloqueio do número

5º Quando ele aperta Ok um alerta vem na tela pedindo para confirmar o bloqueio ou desbloqueio,

é aquele confirm do javascript que vem as opções OK ou Cancelar.

A minha dúvida é exatamente no 5º passo, como fazer para a macro apertar esse Ok?

Obrigado pessoal pela ajuda

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Public User_Posvenda As String, Senha_Posvenda As String

Sub posvenda()
frmAcessoSAC.Show
End Sub


Public Sub carregar()
On Error Resume Next
ActiveWorkbook.Sheets("posvenda").Activate

Dim cpf As Single
Dim tempo As Integer

voltar:

tempo = 3
aguarde = "AGUARDE"
'******************************
    '   Função Aguarde
    '*****************
    If (Len(aguarde) >= 70) Then
        aguarde = "< AGUARDE >"
    End If
    Sheets("posvenda").Cells(3, 5) = aguarde
    aguarde = "< " & aguarde & " > "
    '*****************
    '   Fim da função
    '******************************

       
        
        Set ie = GetObject("", "InternetExplorer.Application.1")
        ie.Visible = True
        ie.Navigate "http://posvenda.brasiltelecom.com.br/posvenda/"
        
     
             Do While ie.Busy
               DoEvents
             Loop
  

        Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
        Loop
        
        x = ie.Document.forms(0).Length
        If (x = 2) Then
            ie.Document.getelementbyid("usuario").Value = User_Posvenda
            ie.Document.getelementbyid("senha").Value = Senha_Posvenda
            ie.Document.getelementbyid("enviar").Click
        End If
        
        Do While ie.Busy
            DoEvents
        Loop

        Do While ie.Busy
        Loop
        Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
        Loop
        
      
        'x = ie.document.frames.Item(0).document.Forms.Length
        'x = ie.document.frames.Item(1).document.Forms.Length
        
                        
        '******************************
        '   Função Aguarde
        '*****************
        If (Len(aguarde) >= 70) Then
            aguarde = "< AGUARDE >"
        End If
        Sheets("posvenda").Cells(3, 5) = aguarde
        aguarde = "< " & aguarde & " > "
        '*****************
        '   Fim da função
        '******************************
    
    linha_posvenda = 9
    Do While Sheets("posvenda").Cells(linha_posvenda, 2) <> ""
        '******************************
        '   Função Aguarde
        '*****************
        If (Len(aguarde) >= 70) Then
            aguarde = "< AGUARDE >"
        End If
        Sheets("posvenda").Cells(3, 5) = aguarde
        aguarde = "< " & aguarde & " > "
        '*****************
        '   Fim da função
        '******************************
    
        'terminal = ""
        'cpf_cnpj = ""
        If (ActiveSheet.Cells(linha_posvenda, 2) <> "") Then
            ddd = Left(ActiveSheet.Cells(linha_posvenda, 2), 2)
            terminal = Right(ActiveSheet.Cells(linha_posvenda, 2), 8)
        End If
        
        ie.Navigate "http://posvenda.brasiltelecom.com.br/posvenda/entradaBloqueioDesbloqueio.do"
        
        Do While ie.Busy
        Loop
        Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
        Loop
            'INSERE DDD/TERMINAL
            ie.Document.getelementbyid("ddd").Value = ddd
            ie.Document.getelementbyid("telefone").Value = terminal
             Do While ie.Busy
               DoEvents
             Loop
            'CLICA EM OK
            ie.Document.GetElementsByTagname("input")(5).Click
            
             Do While ie.Busy
               DoEvents
             Loop
  

                Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
                   DoEvents
                Loop
            Dim x1 As String
            x1 = ie.Document.GetElementsByTagname("td")(9).innertext
          
          
             Do While ie.Busy
               DoEvents
             Loop
  

            Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
            Loop
            
            
            
            'BUSCA RESULTADO DA OPERAÇÃO E INSERE NA PLANILHA EXCEL
            If Trim(x1) = "" Then
           
             Do While ie.Busy
               DoEvents
             Loop
  
                Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
                   DoEvents
                Loop

         '   Dim result: Set result = ie.Document.GetElementsByTagname("td")(21)
            resultado = ie.Document.GetElementsByTagname("td")(21).innertext
            DoEvents
            Sheets("posvenda").Cells(linha_posvenda, 3) = resultado
            
            Else
              Do While ie.Busy
               DoEvents
             Loop
  
                Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
                   DoEvents
                Loop
                
            DoEvents
              Cells(linha_posvenda, 3) = x1
            End If
            
             Do While ie.Busy
               DoEvents
             Loop
  

                Do While Not (ie.ReadyState = READYSTATE_COMPLETE)
                   DoEvents
                Loop
                
        '******************************
        '   Função Aguarde
        '*****************
        If (Len(aguarde) >= 70) Then
            aguarde = "< AGUARDE >"
        End If
        Sheets("posvenda").Cells(3, 5) = aguarde
        aguarde = "< " & aguarde & " > "
        '*****************
        '   Fim da função
        '******************************
        linha_posvenda = linha_posvenda + 1
        
        
    Loop
    
    
ie.Visible = False
ie.Quit
Sheets("posvenda").Cells(3, 5) = "DISPONÍVEL"

GoTo voltar
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Oi pessoal, fiz uma macro aqui que abre um site na internet, preenche um formulario para enviar

para um determinado banco de dados, só que quando apertar o botão enviar, aparece

uma tela para confirmar o envio, é aquela tela em javascript

Ok - Cancelar

Não consigo fazer a raio da macro apertar o botão Ok

como fazer?

PS:

sendKeys "{ENTER}" não FUNCIONA

sendKeys "~" não FUNCIONA

sendKeys "¬" não FUNCIONA

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...