neotheone Postado Junho 18, 2010 Denunciar Share Postado Junho 18, 2010 Bom dia galera do Script BrasilTenho uma macro desenvolvida em vba para o excel que realiza o seguinte trabalho:1º Ela abre uma página na internet2º Entra com login e senha3º 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 campos4º Agora aperta o Ok para efetuar o bloqueio ou desbloqueio do número5º 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Junho 20, 2010 Denunciar Share Postado Junho 20, 2010 qual codigo e componente você ta usando?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Junho 20, 2010 Denunciar Share Postado Junho 20, 2010 tente:SendKeys "{ENTER}" Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 21, 2010 Autor Denunciar Share Postado Junho 21, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 23, 2010 Autor Denunciar Share Postado Junho 23, 2010 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, apareceuma tela para confirmar o envio, é aquela tela em javascriptOk - CancelarNão consigo fazer a raio da macro apertar o botão Okcomo fazer? PS:sendKeys "{ENTER}" não FUNCIONAsendKeys "~" não FUNCIONAsendKeys "¬" não FUNCIONA Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Junho 23, 2010 Denunciar Share Postado Junho 23, 2010 não costumo usar o InternetExplorer.Application, mas se a janela de alert realmente aparece, você poderia tentar usar as apis FindWindow() e SetForegroundWindow() pra colocar o foco na janela e ai o SendKeys() poderia funcionar.mas da uma olhada aqui tb:http://www.experts-exchange.com/Programmin...Q_20510962.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 23, 2010 Autor Denunciar Share Postado Junho 23, 2010 Nesse endereço tem que pagahttp://www.experts-exchange.com/Programmin...Q_20510962.html Tem como me dar um exemplo do uso de:FindWindow() e SetForegroundWindow() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Junho 23, 2010 Denunciar Share Postado Junho 23, 2010 Nesse endereço tem que pagahttp://www.experts-exchange.com/Programmin...Q_20510962.htmlestranho, em casa tava mostrando as respostas.quando eu voltar eu olho la e vejo.Tem como me dar um exemplo do uso de:FindWindow() e SetForegroundWindow()neste post tem uns exemplos:http://scriptbrasil.com.br/forum/index.php...st&p=503948 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 23, 2010 Autor Denunciar Share Postado Junho 23, 2010 Não ta funcionadota foda de achar uma solução pra isso Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 25, 2010 Autor Denunciar Share Postado Junho 25, 2010 Valeu vou esperar você postar aqui.Ta muito dificil isso, não quero dar ok em uma janela do windowsquero dar OK em um confirm (javascript), ou seja, aquelamensagem do Browser. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 neotheone Postado Junho 25, 2010 Autor Denunciar Share Postado Junho 25, 2010 A solução do problemaIE.Document.form(0).submit Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
neotheone
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
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.