Este post foi originalmente publicado em https://officevbavsto.blogspot.com/2011/04/vba-internet-usando-o-metodo-execwb.html.

Hoje, eu escrevo mais um artigo sobre como interagir com sites usando VBA e Internet Explorer, mas dessa vez vamos entender o método ExecWB.

O método ExecWB executa instruções no navegador, tais como Imprimir, Salvar como, mudar Zoom e etc.

Sintaxe:

ExecWB(cmdID As OLECMDID, cmdexecopt As OLECMDEXECOPT, [pvaIn As Variant], [pvaOut As Variant])

  • cmdID As OLECMDID: Valor enumerado que define qual comando você quer executar;
  • cmdexecopt As OLECMDEXECOPT: Valor enumerado que define como você quer que esse comando seja executado, exibindo uma janela de prompt para o usuário e etc.;
  • [pvaIn As Variant]: Parâmetros de entrada. Pode ser numérico ou alfanumérico. Dependendo do comando que você estiver executando esse campo poderá ser preenchido (SAVEAS, por exemplo) ou poderá ficar em branco (VbNullString);
  • [pvaOut As Variant]: Parâmetros de saída.

Vamos a alguns exemplos

Mudar o tamanho das letras da página.

Sub AcessaPagina()
  Dim ie As InternetExplorer
  Set ie = New InternetExplorer
  ie.Navigate "http://www.google.com.br/#hl=pt-BR&source=hp&biw=1276&bih=837&q=uol+not%C3%ADcias&aq=f&aqi=g10&aql=&oq=&fp=516cc978868108d7"
  ie.Visible = True 
  ie.ExecWB OLECMDID_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(1), vbNull
End Sub
Obs.: Veja que no parâmetro de entrada especificamos o valor 1, que é a menor letra possível. Você pode especificar de 1 até 4.

Exibir janela de impressão

[...]
  ie.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT
[...]

Exibir janela de configurar página

[...]
  ie.ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT
[...]

Exibir janela de salvar como

[...]
ie.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, "Teste2.html", vbNullString
[...]

Imprimir

[...]
  ie.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, "", ""
[...]

Créditos

Photo by Startup Stock Photos from Pexels