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

Interação VBA com Internet Explorer (dúvidas)

Perguntas e Repostas sobre os artigos, posts e arquivos que são postados no site
robinholke
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Dom Jan 22, 2017 9:34 am

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagem por robinholke »

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


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.


Avatar do usuário
Mikel Silveira Fraga
Jedi
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)

Mensagem por Mikel Silveira Fraga »

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.


robinholke
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Dom Jan 22, 2017 9:34 am

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagem por robinholke »

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.


Avatar do usuário
Mikel Silveira Fraga
Jedi
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)

Mensagem por Mikel Silveira Fraga »

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.


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.


RafaelSantos
Acabou de chegar
Acabou de chegar
Mensagens: 8
Registrado em: Qua Jan 21, 2015 8:35 am

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagem por RafaelSantos »

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
Oi Mikel, boa noite!

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


Avatar do usuário
Alex Abreu
Colaborador
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)

Mensagem por Alex Abreu »

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??
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?

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...


Avatar do usuário
Mikel Silveira Fraga
Jedi
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)

Mensagem por Mikel Silveira Fraga »

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.


Avatar do usuário
Alex Abreu
Colaborador
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)

Mensagem por Alex Abreu »

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.
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.

'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:

Imagemmaps 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...


Maza_Filho
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sex Ago 24, 2018 4:51 pm

Interação VBA com Internet Explorer (dúvidas)

Mensagem por Maza_Filho »

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.


danielfi
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Ter Fev 19, 2019 3:25 pm

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagem por danielfi »

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


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