Come creare il proprio browser Internet di base tramite VBA

Come creare il proprio browser Internet di base tramite VBA / 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 in esso e la visualizzazione di quel testo trasferito sullo schermo del computer - questo non è davvero 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 Windows Script 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 autonomamente Aggiornamento di grafici di Excel in tre semplici passaggi Ti mostreremo come aggiornare automaticamente i tuoi grafici di 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 di seguito, puoi utilizzare Word, Access o Excel per leggere documenti HTML sul Web, modificare tali documenti e quindi generare tutto ciò che vuoi in una nuova finestra del browser.

Può sembrare qualcosa che solo un programmatore VBA esperto 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, è quello di abilitare il riferimento Microsoft Internet Controls.

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

Nell'editor VBA, fare clic su Utensili, e poi Riferimenti.

Nella finestra Riferimenti, scorrere fino in fondo fino a quando non viene visualizzato “Microsoft Internet Controls“. Seleziona la casella e quindi fai clic su “ok“.

Ora, all'interno del tuo codice VBA, sarai in grado di creare oggetti che possono ottenere informazioni da Internet, e puoi stampare 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.

Per creare questa funzione, dovrai inserire un pulsante di comando sul tuo foglio. Sotto il Sviluppatore menu, fare clic su Modalità di progettazione, e quindi fare clic su “Inserire” pulsante. 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 “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 di report HTML"& _
 ""& _
 "Di seguito sono riportati i 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
 .Navigare "about: blank"
 Do While .Busy: DoEvents: Loop
 Do While. ReadyState <> 4: DoEvents: Loop
 .Visibile = 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:

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 alcuni siti Web, manipolare i dati e quindi inviarli 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
 .Visibile = Vero
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "I miei propri risultati di Google!

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:

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 di stringa VBA, puoi cercare linee specifiche nella pagina, cercare immagini, cercare gli indirizzi email 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

Scopri di più su: Programmazione, programmazione Visual Basic.