Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Interação VBA com Internet Explorer (dúvidas)
-
- Acabou de chegar
- Mensagens: 2
- Registrado em: Dom Jan 22, 2017 9:34 am
Re: Interação VBA com Internet Explorer (dúvidas)
Olá , bom dia. tenho o seguinte problema : tenho uma planilha salva em um domínio da internet e preciso fazer ligações entre essa planilha salva na internet e outra que se encontra em meu computador.
tentei essa programação mas sempre aparece erro de sintaxe. na linha que se refere ao "getobject"
esse link que está entre aspas foi copiado do domínio.
Sub teste()
Set PASTA = GetObject("https://docinfogroupe.psa-peugeot-citro ... 43/v.vc/pj")
For a = 1 To 1
If Cells(1, 1).Value = PASTA.Sheets(a).Cells(1, 1).Value Then
Cells(2, 1).Value = "MTO BOM "
End If
Next a
PASTA.Close
End Sub
tentei essa programação mas sempre aparece erro de sintaxe. na linha que se refere ao "getobject"
esse link que está entre aspas foi copiado do domínio.
Sub teste()
Set PASTA = GetObject("https://docinfogroupe.psa-peugeot-citro ... 43/v.vc/pj")
For a = 1 To 1
If Cells(1, 1).Value = PASTA.Sheets(a).Cells(1, 1).Value Then
Cells(2, 1).Value = "MTO BOM "
End If
Next a
PASTA.Close
End Sub
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Robin, bom dia e seja bem vindo ao fórum.
Atendendo sua MP, dei uma olhada no processo e realmente não sei ao certo se é possível, pelo menos do jeito que esta fazendo.
A principal diferença entre atribuir um outro Workbook para um objeto (neste caso, o PASTA), é que:
- Localmente, você já tem acesso livre ao mesmo, não tendo que solicitar permissão para acessar o arquivo;
- Remotamente, é necessário um processo de validação para acessar o arquivo. Nesse caso, teria que simular, programaticamente, um ambiente do domínio e, através dessa simulação com permissões ativas, direcionar para o objeto PASTA o Workbook.
Realmente é algo que nunca tive necessidade de fazer e nem sei ao certo por onde começar, já que esse não é o melhor ambiente para esse tipo de operação. Porém, vou ver se encontro alguma coisa na web e divulgo por aqui.
Abraços e excelente semana.
Atendendo sua MP, dei uma olhada no processo e realmente não sei ao certo se é possível, pelo menos do jeito que esta fazendo.
A principal diferença entre atribuir um outro Workbook para um objeto (neste caso, o PASTA), é que:
- Localmente, você já tem acesso livre ao mesmo, não tendo que solicitar permissão para acessar o arquivo;
- Remotamente, é necessário um processo de validação para acessar o arquivo. Nesse caso, teria que simular, programaticamente, um ambiente do domínio e, através dessa simulação com permissões ativas, direcionar para o objeto PASTA o Workbook.
Realmente é algo que nunca tive necessidade de fazer e nem sei ao certo por onde começar, já que esse não é o melhor ambiente para esse tipo de operação. Porém, vou ver se encontro alguma coisa na web e divulgo por aqui.
Abraços e excelente semana.
-
- Acabou de chegar
- Mensagens: 2
- Registrado em: Dom Jan 22, 2017 9:34 am
Re: Interação VBA com Internet Explorer (dúvidas)
Obrigado Mikel pelo feedback. eu tenho acesso a esse domínio. Uma vez que loguei pela primeira vez, não há mais necessidade de logar novamente para fazer qualquer modificação nos arquivos salvos. O grande problema é o erro que aparece ao efetuar a macro, dando a parecer que o excel não consegue fazer ligações com links da internet ! Uma vez que faço essa mesma macro para pastas localizadas no meu computador funciona perfeitamente. O excel é habilitado para fazer macros com ligações via internet ?
o Erro é esse: erro de automação - sintaxe inválida - erro em tempo de execução '-2147221020(800401e4)
O que posso afirmar é que algo de errado esta nessa linha escrita : " ... getobject ( ) " essa função acho que só funciona para domínios localizados no próprio computador ou na rede. Para arquivos localizados em nuvem acho que não funciona.
Obrigado . Qualquer notícia ou ideia para me ajudar , agradeço. Só falta essa linha para eu poder programar.
o Erro é esse: erro de automação - sintaxe inválida - erro em tempo de execução '-2147221020(800401e4)
O que posso afirmar é que algo de errado esta nessa linha escrita : " ... getobject ( ) " essa função acho que só funciona para domínios localizados no próprio computador ou na rede. Para arquivos localizados em nuvem acho que não funciona.
Obrigado . Qualquer notícia ou ideia para me ajudar , agradeço. Só falta essa linha para eu poder programar.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Robin, bom dia.
Pelo que você disse, quando conecta a primeira vez, a instância de conexão já fica ativa. Até ai eu entendo. Mesmo assim, ainda tem a questão de tentar criar uma conexão com um arquivo via protocolo HTTP, ai que esta minha dúvida.
Se pensarmos bem, o conceito Cloud Computer é bem novo, se compararmos com as últimas evoluções na plataforma de programação do pacote Office (Visual Basic Editor) e na linguagem VBA. Por esse motivo, pode ser que não tenha como realizar esse procedimento.
Uma sugestão seria tentar trabalhar com esse domínio em uma pasta compartilhada, usando o mesmo conceito de sincronização do DropBox, OneDrive, Mega, GoogleDrive e outros serviços nas nuvens. Dessa forma, você teria o arquivo localmente no computador, sincronizado com o arquivo hospedado no domínio. Toda alteração, automaticamente é enviada para o arquivo do domínio, como também é recebida quando outros usuários alteram o mesmo arquivo (caso seja este o seu cenário).
Com tudo, essa é a única solução que me vem a mente. Espero que seja de valia a ideia.
Abraços e excelente final de semana.
Pelo que você disse, quando conecta a primeira vez, a instância de conexão já fica ativa. Até ai eu entendo. Mesmo assim, ainda tem a questão de tentar criar uma conexão com um arquivo via protocolo HTTP, ai que esta minha dúvida.
Se pensarmos bem, o conceito Cloud Computer é bem novo, se compararmos com as últimas evoluções na plataforma de programação do pacote Office (Visual Basic Editor) e na linguagem VBA. Por esse motivo, pode ser que não tenha como realizar esse procedimento.
Uma sugestão seria tentar trabalhar com esse domínio em uma pasta compartilhada, usando o mesmo conceito de sincronização do DropBox, OneDrive, Mega, GoogleDrive e outros serviços nas nuvens. Dessa forma, você teria o arquivo localmente no computador, sincronizado com o arquivo hospedado no domínio. Toda alteração, automaticamente é enviada para o arquivo do domínio, como também é recebida quando outros usuários alteram o mesmo arquivo (caso seja este o seu cenário).
Com tudo, essa é a única solução que me vem a mente. Espero que seja de valia a ideia.
Abraços e excelente final de semana.
-
- Acabou de chegar
- Mensagens: 8
- Registrado em: Qua Jan 21, 2015 8:35 am
Re: Interação VBA com Internet Explorer (dúvidas)
Oi Mikel, boa noite!RafaelSantos escreveu: ↑Qui Jan 29, 2015 11:56 pm Agora a noite conesegui rodar todos sem nennhum problema.
È intermitente.
Vou tentar fazer a macro abrindo e fechado uma nova janela, para ver se o problema resolve.
Se não, o meu plano meu é utilizar uma macro para limpar cookies e temporary internet files.
Desde já agradeço todo ajuda.
Abraços
Consegue me ajudar novamente? Você me ajudou muito lá em 2015 (viewtopic.php?f=2&p=14880&t=274&sid=b99 ... 16d#unread), com uma macro parecida que buscava o último andamento do processo em uma consulta no sistema da Anatel. Tentei adaptar a macro anteiror para a nova realidade do sistema da Anatel (SEI), mas ainda não consigo achar as tabelas para fazer refência e ir na tabela e linha que preciso buscar. Consegue me orientar novamente? OBrigado!
- Anexos
-
- Acompanhamento do Andamento.zip
- (24.19 KiB) Baixado 621 vezes
- Alex Abreu
- Colaborador
- Mensagens: 31
- Registrado em: Sáb Jun 30, 2018 4:40 pm
- Localização: Rio do Campo/SC
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Boa Tarde, me inscrevi ao Fórum por causa de uma dúvida que envolve o google maps, acaso já tenha sido respondida anteriormente alguém poderia me citar a resposta?joseA escreveu: ↑Qua Mar 16, 2011 7:21 pm Gostaria de um procedimento que acesse a página GoogleMaps http://maps.google.com.br/maps?hl=pt-br&tab=wl inserir na caixa de pesquisa o dado do TextBox1 e ocultar o painél "Como chegar Meus Mapas"
Seria possivel??
Eu preciso saber como programar para fazer com que o Excel Web Browser Object copie o valor da Distancia e das Horas para chegar a essa distancia da página da google maps e cole na planilha, eu já consegui informar o valor das Variáveis e fazer com que o IeObject abra o site do Google maps, tire uma Print Screen e cole em uma planilha automaticamente. Mas preciso que a informação (Value) seja colada em Células em outra Planilha!Exemplo:
Informação da Distancia o IeObject cole na Plan1.Range(A2) e a Informação de Horas de Percurso na Plan1.Range(B2)
Agradeço quem puder me dar um norte
PS: Eu sei que existe uma API da Google Maps para Excel mas o procedimento as vezes Falha se tentar incluir 3 Variáveis no Roteiro (Sai da Cidade A, vai para B e termina em C). Eu preciso que a informação da Quilometragem do Percurso seja EXATA!
Até onde eu percebi o Google maps tem alguma coisa de Javascript e a linha que eu preciso pegar é equivalente a esta <div jstcache="1092">185 km</div>
Eu até tentei copiar a página inteira de forma automática pelo IeObject mas não aparece apenas a informação que eu preciso na Range da Planilha!
Como sou novato estou apanhando muito para achar por conta...
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Alex, bom dia.
Cara, usando a biblioteca do Microsoft Internet Control, até onde sei, não é possível fazer esse print screen.
Chegar ao valor e copiar para uma célula, até seria possível, mas teria que ver a estrutura da página, para saber se não envolve muitas rotinas complexas.
Apesar de ser um recurso padrão do Windows, infelizmente a biblioteca IEControl é muito limitada e não suporte a maioria dos sites atuais, que possuem enormes recursos e são dinâmicos para várias ações do usuário.
Tem como compartilhar seu código, pra saber o que você já tem pronto?
Fico no aguardo.
Cara, usando a biblioteca do Microsoft Internet Control, até onde sei, não é possível fazer esse print screen.
Chegar ao valor e copiar para uma célula, até seria possível, mas teria que ver a estrutura da página, para saber se não envolve muitas rotinas complexas.
Apesar de ser um recurso padrão do Windows, infelizmente a biblioteca IEControl é muito limitada e não suporte a maioria dos sites atuais, que possuem enormes recursos e são dinâmicos para várias ações do usuário.
Tem como compartilhar seu código, pra saber o que você já tem pronto?
Fico no aguardo.
- Alex Abreu
- Colaborador
- Mensagens: 31
- Registrado em: Sáb Jun 30, 2018 4:40 pm
- Localização: Rio do Campo/SC
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Boa Tarde Mikel, Na verdade tem sim, só usar aplicações "Sendkeys" eu usei um módulo pronto feito pelo "Renam Ruthes" e adaptei para meu projeto. A Parte da printscreen eu já fiz, conforme a linha de código que estou usando para abrir o Objeto Iexplorer para capturar a tela do Googlemaps.Mikel Silveira Fraga escreveu: ↑Qua Jul 18, 2018 6:49 am Alex, bom dia.
Cara, usando a biblioteca do Microsoft Internet Control, até onde sei, não é possível fazer esse print screen.
Chegar ao valor e copiar para uma célula, até seria possível, mas teria que ver a estrutura da página, para saber se não envolve muitas rotinas complexas.
Apesar de ser um recurso padrão do Windows, infelizmente a biblioteca IEControl é muito limitada e não suporte a maioria dos sites atuais, que possuem enormes recursos e são dinâmicos para várias ações do usuário.
Tem como compartilhar seu código, pra saber o que você já tem pronto?
Fico no aguardo.
'comando para salvar a print do iexplorer
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Const VK_SNAPSHOT = &H2C
'comando para deixar o iexplorer maximizado
Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Global Const SW_MAXIMIZE = 3
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
'Comando adicionado para imprimir a p?gina da internet autom?ticamente
'Option Explicit
'Const OLECMDID_PRINT = 6
'Const OLECMDEXECOPT_DONTPROMPTUSER = 1
'Const PRINT_WAITFORCOMPLETION = 2
Global id As Integer
Global X As Integer
Global IEObject As InternetExplorer
Sub BuscaMaps()
ThisWorkbook.Application.Visible = True
'ActiveWindow.WindowState = xlMinimized
On Error Resume Next
Dim objIE As InternetExplorer
Dim endereco As String
Dim url_maps As String
endereco = UserForm2.lbl_URL
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
Dim resultado As VbMsgBoxResult
resultado = MsgBox("Voc? est? usando esse sistema num monitor Secund?rio", vbYesNo, "CONFIGURA??O DO MONITOR")
If resultado = vbYes Then
.Top = -1800
Else
.Top = 0
End If
.StatusBar = False
.Toolbar = False
.Width = 1024
.Height = 750
.Resizable = False
.AddressBar = False
.Visible = True
.Left = 2510
.navigate endereco
.MenuBar = False
'Comando para imprimir o mapa acessado
objIE.Visible = 1
Do While .Busy Or .READYSTATE <> 4
DoEvents
Loop
'Deixar Iexplorer Maximizado
apiShowWindow objIE.hwnd, SW_MAXIMIZE
'Comando para imprimir o mapa acessado
'objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
Application.wait (Now + TimeValue("0:00:15"))
'Comando para fazer a Captura da Tela (Printscreen)
DoEvents
Application.SendKeys "(%{1068})", True
SendKeys "PRTSC"
'Dim NumLockState As Boolean
'Let NumLockState = CBool(GetKeyState(vbKeyNumlock) And 1)
'If NumLockState = False Then
DoEvents
SendKeys "{NUMLOCK}", True
End With
objIE.Quit
ActiveWindow.WindowState = xlMaximized
Call btnMsgbox_print
Application.wait (Now + TimeValue("0:00:10"))
Call Salvar_Imagem
End Sub
Já a informação do Site Googlemaps seria essa daqui:
maps by Alex Abreu, no Flickr
só preciso copiar o valor da Distancia entre 2 ou mais pontos do site google maps para minha planilha que iria implementar nesse código...
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Sex Ago 24, 2018 4:51 pm
Interação VBA com Internet Explorer (dúvidas)
Prezados, ola, boa tarde.
Estou criando uma Macro na qual interage com uma pagina .jsf, com o objetivo de baixar relatorios .txt, bom, cheguei em um momento que travei, eu seleciono o relatorio desejado, clico na opção de salvar, então me abre uma outra janela com algumas condições, na qual eu so preciso clicar no botão "ok" ou dar o comando Alt+O, travei ai.. Não consigo inspecionar esta tela, tentei o comando Alt+O atraves do SendKeys, mas não interage com essa janela.. Acredito que seja janela Pop-Up.
Estou trabalhando com Ms Access.
Estou criando uma Macro na qual interage com uma pagina .jsf, com o objetivo de baixar relatorios .txt, bom, cheguei em um momento que travei, eu seleciono o relatorio desejado, clico na opção de salvar, então me abre uma outra janela com algumas condições, na qual eu so preciso clicar no botão "ok" ou dar o comando Alt+O, travei ai.. Não consigo inspecionar esta tela, tentei o comando Alt+O atraves do SendKeys, mas não interage com essa janela.. Acredito que seja janela Pop-Up.
Estou trabalhando com Ms Access.
Re: Interação VBA com Internet Explorer (dúvidas)
Boa tarde,
Como posso pegar o nome da pagina assim que ele for aberta? Seria o Titulo da pagina que fica na guia do browser?
Ja tentei varias possibilidades mas retorna sempre em branco.
Valeu pessoal
Como posso pegar o nome da pagina assim que ele for aberta? Seria o Titulo da pagina que fica na guia do browser?
Ja tentei varias possibilidades mas retorna sempre em branco.
Valeu pessoal