Come creare il proprio browser Internet di base tramite VBA

Quando ci si ferma davvero a pensarci, un browser Internet nella sua forma più semplice non è davvero una applicazione così impressionante. Voglio dire, sì, Internet è sorprendente per gli standard di chiunque.

Quando ci si ferma davvero a pensarci, un browser Internet nella sua forma più semplice non è davvero una applicazione così impressionante.  Voglio dire, sì, Internet è sorprendente per gli standard di chiunque.
Annuncio pubblicitario

crea il tuo browser internet Quando ci si ferma davvero a pensarci, un browser Internet nella sua forma più semplice non è davvero una applicazione così impressionante. Voglio dire, sì, Internet è sorprendente per gli standard di chiunque. Il concetto di collegare così tanti computer e dispositivi mobili al mondo all'interno di questa enorme rete, è epico. Ma il concetto di trasferire un file di testo con un codice speciale e di visualizzare quel testo trasferito sullo schermo del computer non è un grosso problema.

Infatti, grazie ai riferimenti incorporati nelle applicazioni che utilizzano VBA, è possibile inserire e stampare pagine Web tramite le proprie applicazioni. Se hai seguito i nostri passati articoli di scripting, allora sai che adoriamo lo script VB e VBA, come il mio articolo su come massimizzare Windows 3 modi per aprire applicazioni e Windows ottimizzato con VB Script [Windows] 3 modi per aprire applicazioni e Windows ottimizzato con VB Script [Windows] Se c'è una cosa che amo fare, è scrivere script VB. Che si tratti di un file di script di Windows o di uno script VBA all'interno di un'applicazione, lo scripting offre la possibilità di aggiungere funzionalità alle applicazioni ... Per saperne di più, Paul sui grafici ad autoaggiornamento Come creare grafici Excel con autoaggiornamento in tre semplici passaggi Come creare Grafici Excel autoaggiornanti in tre semplici passaggi Ti mostreremo come aggiornare automaticamente i tuoi grafici Excel. Aggiungi nuovi dati e guarda come vengono visualizzati automaticamente nel tuo grafico. È veloce e facile. Ulteriori informazioni e Saikat sull'invio di e-mail di massa Come inviare e-mail di massa personalizzate in Outlook con unione stampa Come inviare e-mail di massa personalizzate in Outlook con stampa unione Ulteriori informazioni.

Utilizzando l'approccio seguente, puoi utilizzare Word, Access o Excel per leggere documenti HTML sul Web, modificare tali documenti e quindi produrre tutto ciò che desideri in una nuova finestra del browser.

Può sembrare qualcosa che solo un esperto programmatore VBA può fare, ma in questo articolo ho intenzione di mostrarti come puoi farlo tu stesso, iniziando con una procedura di base per l'output dei dati dalla tua applicazione a una pagina web.

Abilitazione dei controlli Internet di Microsoft

Il primo passaggio, indipendentemente dal modo in cui si desidera utilizzare la capacità di input / output del proprio codice HTML tramite VBA, è abilitare il riferimento Microsoft Internet Controls.

In Excel, fai questo facendo clic sulla voce di menu " Sviluppatore ", facendo clic su Modalità di progettazione, quindi facendo clic sul pulsante " Visualizza codice ". Questo potrebbe apparire diverso nelle versioni precedenti di Excel, ma in sostanza è necessario trovare dove è possibile avviare l'editor di codice VBA.

crea il tuo browser internet

Nell'editor VBA, fai clic su Strumenti, quindi su Riferimenti .

crea un browser internet

Nella finestra References, scorrere fino in fondo fino a visualizzare " Microsoft Internet Controls ". Seleziona la casella e quindi fai clic su " OK ".

crea un browser internet

Ora, all'interno del tuo codice VBA, sarai in grado di creare oggetti che possono ottenere informazioni da Internet, e puoi produrre i tuoi documenti HTML che l'utente può visualizzare nel proprio browser.

Inserimento e output di HTML

La prima cosa che vorresti realizzare qui è l'output di informazioni in HTML. Pensa a quanto puoi fare una volta che puoi inviare informazioni a una pagina Web HTML perfettamente formattata. È possibile estrarre i dati dai fogli di calcolo di Excel e visualizzarli in un report ben formattato.

crea un browser internet

Per creare questa funzione, dovrai inserire un pulsante di comando sul tuo foglio. Nel menu Sviluppatore, fai clic su Modalità di progettazione, quindi fai clic sul pulsante " Inserisci ". Vedrai un elenco di controlli che puoi aggiungere al tuo foglio.

In questo caso, fai clic sul pulsante di controllo e posizionalo nel foglio. Assicurarsi che ci siano alcuni dati nel foglio (o qualsiasi foglio), che si desidera produrre in un report quando si fa clic sul pulsante. Fare clic con il tasto sinistro sul pulsante per selezionarlo e fare clic su " Visualizza codice ".

Inserisci il seguente codice:

 Sub Button1_Click () 
 Dim objIE As Object 
 Dim HTML As String 
 '---------- IL CODICE HTML VA DA QUI E GIÙ ---------- 
 HTML = "Pagina dei report HTML" e _ 
 "" & _ 
 " I seguenti sono risultati del tuo calcolo giornaliero " & _ 
 " 

"& _

 "Produzione giornaliera:" & Sheet1.Cells (1, 1) & " 

"& _

 "Scrap giornaliero:" & Sheet1.Cells (1, 2) & " 

"

 '---------- IL CODICE HTML VA QUI E SOPRA --------- 
 On Error GoTo error_handler 
 Imposta objIE = CreateObject ("InternetExplorer.Application") 
 Con objIE 
 . Naviga "about: blank" 
 Do While .Busy: DoEvents: Loop 
 Do While. ReadyState 4: DoEvents: Loop 
 .Visible = Vero 
 .Document.Write HTML 
 Fine Con 
 Imposta objIE = Niente 
 Esci sott 
 error_handler: 
 MsgBox ("Errore imprevisto, sto smettendo.") 
 objIE.Quit 
 Imposta objIE = Niente 
 End Sub 

Questo codice emette l'HTML che hai definito in quella stringa di output. Come puoi vedere dal mio esempio sopra, puoi incorporare dati da qualsiasi foglio di Excel nella tua stringa HTML. Ecco il rapporto della pagina web risultante:

crea il tuo browser internet

Ora che l'output HTML funziona, il passaggio successivo per far sì che lo script VBA funzioni praticamente come un browser Web è leggere in HTML da un sito Web, manipolare i dati e quindi inviarlo a una pagina di output HTML.

 Sub Button1_Click () 
 Dim objIE As Object 
 Dim HTML As String 
 On Error GoTo error_handler 
 Imposta objIE = CreateObject ("InternetExplorer.Application") 
 Con objIE 
 . Naviga "http://www.google.com" 
 Do While .Busy: DoEvents: Loop 
 Do While. ReadyState 4: DoEvents: Loop 
 .Visible = Vero 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "I miei risultati Google personali! 

Questa è una versione modificata della pagina di Google!

"& HTML &" "
 Fine Con 
 Imposta objIE = Niente 
 Esci sott 
 error_handler: 
 MsgBox ("Errore imprevisto, sto smettendo.") 
 objIE.Quit 
 Imposta objIE = Niente 
 End Sub 

Quello che ho fatto qui è usato l'oggetto IE per leggere l'HTML da Google in una variabile di testo in VBA chiamata HTML. Ho quindi inserito il mio testo di output HTML nella parte superiore della pagina e ho quindi distribuito lo stesso codice HTML all'output HTML VBA. Questo è quello che sembra:

Come creare il proprio browser Internet di base mediante VBA vbabrowse6

Questo è un esempio molto semplice di ciò di cui è capace. Ma se ci pensi, una volta che hai caricato l'HTML da una pagina web nella tua variabile stringa VBA, puoi cercare linee specifiche nella pagina, cercare immagini, cercare gli indirizzi e-mail dei numeri di telefono - o potresti riscrivere l'intero inserisci la pagina in una nuova versione modificata della stessa pagina in qualsiasi formato che ti piace e con tutte le modifiche che ti piacciono.

Fare ciò richiederebbe un po 'di abilità di manipolazione delle stringhe - ma nulla è impossibile una volta che hai letto nel sorgente HTML dal web.

Vedi qualche possibilità di utilizzare l'input o l'output HTML nelle tue applicazioni? Riesci a pensare a usi interessanti per questo script? Condividi i tuoi pensieri nella sezione commenti qui sotto.

Credito immagine: Shutterstock

In this article