Quando você realmente pára para pensar sobre isso, um navegador da Internet em sua forma mais simples não é realmente tão impressionante quanto um aplicativo. Quero dizer, sim, a Internet é incrível para os padrões de qualquer um. O conceito de ligar tantos computadores e dispositivos móveis do mundo dentro dessa rede massiva, isso é épico. Mas o conceito de transferir um arquivo de texto com código especial nele e exibir o texto transferido na tela do computador - isso não é nada demais.
Na verdade, graças às referências incorporadas em aplicativos que usam o VBA, você pode inserir e enviar páginas da Web por meio de seus próprios aplicativos. Se você seguiu os nossos artigos de scripts anteriores, sabe que adoramos o script VB e o VBA, como o meu artigo sobre como maximizar o Windows 3 Maneiras de Abrir Aplicativos e Windows Maximizado com o VB Script [Windows] 3 Maneiras de Abrir Aplicativos e Windows Maximizado com VB Script [Windows] Se há uma coisa que eu adoro fazer, escrevo scripts VB. Seja um arquivo de script do Windows ou um script VBA dentro de um aplicativo, o script fornece a capacidade de adicionar funcionalidade aos aplicativos ... Leia mais, gráficos de autolimpeza do Paul Como criar gráficos do Excel com atualização automática em três etapas fáceis Como criar Gráficos Excel Atualizados em Três Etapas Fáceis Mostramos a você como fazer com que seus gráficos do Excel sejam atualizados automaticamente. Basta adicionar novos dados e ver como eles aparecem automaticamente no seu gráfico. É rápido e fácil. Leia mais, e Saikat no envio de e-mails em massa Como enviar e-mails em massa personalizados no Outlook com mala direta Como enviar e-mails em massa personalizados no Outlook com mala direta Leia mais.
Usando a abordagem abaixo, você pode usar o Word, Access ou Excel para ler documentos HTML na Web, alterar esses documentos e, em seguida, imprimir o que quiser em uma nova janela do navegador.
Pode soar como algo que apenas um programador VBA experiente pode fazer, mas neste artigo vou mostrar como você pode fazer isso sozinho, começando com um procedimento básico para enviar dados de dentro de seu próprio aplicativo para uma página da Web.
Ativando os controles de Internet da Microsoft
A primeira etapa, não importa como você deseja usar a capacidade de inserir / enviar seu próprio HTML via VBA, é habilitar a referência do Microsoft Internet Controls.
No Excel, você faz isso clicando no item de menu " Desenvolvedor ", clicando em Modo de design e, em seguida, clicando no botão " Visualizar código ". Isso pode parecer diferente em versões mais antigas do Excel, mas essencialmente você precisa encontrar onde você pode iniciar o editor de código VBA.
No editor do VBA, clique em Ferramentas e, em seguida, em Referências .
Na janela Referências, percorra todo o caminho até ver “ Microsoft Internet Controls “. Marque a caixa e clique em " OK ".
Agora, dentro do seu código VBA, você será capaz de criar objetos que podem obter informações da Internet, e você pode produzir seus próprios documentos HTML que o usuário pode visualizar em seu próprio navegador.
Introdução e saída de HTML
A primeira coisa que você deseja realizar aqui é enviar informações para HTML. Pense em quanto você pode fazer quando puder gerar informações em uma página HTML perfeitamente formatada. Você pode extrair dados de suas planilhas do Excel e enviá-los em um relatório bem formatado.
Para criar esse recurso, você precisará inserir um botão de comando na sua planilha. No menu Developer, clique em Design Mode e, em seguida, clique no botão “ Insert ”. Você verá uma lista suspensa de controles que você pode adicionar à sua planilha.
Nesse caso, clique no controle de botão e coloque-o na sua planilha. Verifique se há alguns dados na planilha (ou em qualquer planilha) que você deseja enviar para um relatório quando o botão é clicado. Clique esquerdo no botão para selecioná-lo e clique em " View Code ".
Digite o seguinte código:
Sub Button1_Click ()
Dim objIE como objeto
Dim HTML As String
'---------- O CÓDIGO HTML VAI AQUI E PARA BAIXO ----------
HTML = "Página de relatório HTML" & _
"" & _
" A seguir estão os resultados do seu cálculo diário " & _
""& _
"Produção diária:" & Sheet1.Cells (1, 1) & ""& _
"Daily Scrap:" & Sheet1.Cells (1, 2) e ""
'---------- O CÓDIGO HTML ESTÁ AQUI E ACIMA ---------
On Error GoTo error_handler
Definir objIE = CreateObject ("InternetExplorer.Application")
Com objIE
.Navigate "about: blank"
Do While .Busy: DoEvents: Loop
Do While. ReadyState 4: DoEvents: Loop
.Visible = True
HTML .Document.Write
Fim com
Definir objIE = Nothing
Saída Sub
error_handler:
MsgBox ("Erro inesperado, estou desistindo")
objie.Quit
Definir objIE = Nothing
End Sub
Esse código gera o HTML que você definiu nessa cadeia de saída. Como você pode ver no meu exemplo acima, você pode inserir dados de qualquer planilha no Excel em sua string HTML. Aqui está o relatório da página da Web resultante:
Agora que você tem saída HTML funcionando, a próxima etapa para fazer seu script VBA funcionar virtualmente como um navegador da Web é ler em HTML de algum site, manipular os dados e, em seguida, enviá-los para uma página de saída HTML.
Sub Button1_Click ()
Dim objIE como objeto
Dim HTML As String
On Error GoTo error_handler
Definir objIE = CreateObject ("InternetExplorer.Application")
Com objIE
.Navegue "http://www.google.com.br"
Do While .Busy: DoEvents: Loop
Do While. ReadyState 4: DoEvents: Loop
.Visible = True
HTML = objIE.Document.Body.innerHTML
.Document.Write "Meus próprios resultados do Google!Esta é uma versão editada da página do Google!
"& HTML &" "
Fim com
Definir objIE = Nothing
Saída Sub
error_handler:
MsgBox ("Erro inesperado, estou desistindo")
objie.Quit
Definir objIE = Nothing
End Sub
O que eu fiz aqui é usar o objeto IE para ler HTML do Google em uma variável de texto em VBA chamada HTML. Em seguida, coloquei meu próprio texto de saída HTML na parte superior da página e, em seguida, enviei o mesmo HTML para a saída em HTML do VBA. Isso é o que parece:
Este é um exemplo muito básico do que isso é capaz. Mas se você pensar sobre isso, uma vez que você tenha o HTML de uma página carregada na sua variável de string VBA, você pode procurar por linhas específicas na página, procurar por imagens, pesquisar endereços de e-mail de números de telefone ou reescrever a totalidade página de entrada em uma nova versão editada da mesma página em qualquer formato que você gosta e com quaisquer modificações que você gosta.
Fazer isso exigiria um pouco de proeza de manipulação de strings - mas nada é impossível depois que você leu na fonte HTML da web.
Você vê algum potencial para usar entrada HTML ou saída em seus próprios aplicativos? Você consegue pensar em algum uso legal para esse script? Compartilhe seus pensamentos na seção de comentários abaixo.
Crédito de imagem: Shutterstock