Cum să vă faceți propriul browser de Internet de bază folosind VBA

Cum să vă faceți propriul browser de Internet de bază folosind VBA / Internet

Când oprești cu adevărat să te gândești la asta, un browser de Internet în forma sa cea mai simplă nu este cu adevărat o aplicație impresionantă. Vreau să spun, da, Internetul este uimitor după standardele cuiva. Conceptul de a lega atât de multe computere și dispozitive mobile din lume în această rețea masivă, care este epică. Dar conceptul de transfer al unui fișier text cu cod special în el și afișarea acelui text transferat pe ecranul computerului - asta nu este într-adevăr o afacere mare.

De fapt, datorită referințelor încorporate în aplicațiile care utilizează VBA, puteți introduce și afișa pagini web prin propriile aplicații. Dacă ați urmat articolele noastre de scripting din trecut, atunci știi că ne place VB script-ul și VBA, cum ar fi articolul meu despre maximizarea ferestrelor 3 Moduri de deschidere a aplicațiilor și Windows maximizate cu VB Script [Windows] 3 moduri de a deschide aplicații și Windows maximizate cu VB Script [Windows] Dacă există un lucru pe care îmi place să fac, este vorba de scripturi VB de scriere. Fie că este vorba de un fișier Windows Script sau de un script VBA în cadrul unei aplicații, scripting-ul oferă posibilitatea de a adăuga funcționalitate aplicațiilor ... Citește mai mult, diagramele de auto-actualizare ale lui Paul Cum se creează diagrame Excel de auto-actualizare în trei pași simpli Cum se creează auto- Actualizând diagramele Excel în trei pași simpli, vă vom arăta cum să faceți auto-actualizarea hărților Excel. Doar adăugați date noi și urmăriți modul în care apar automat în graficul dvs. Este rapid și ușor. Citește mai mult, și Saikat lui pe trimiterea de e-mailuri în masă Cum să trimiteți e-mailuri personalizate de masă în Outlook cu corespondență de corespondență Cum să trimiteți e-mailuri personalizate de masă în Outlook cu corespondență în corespondență Citește mai mult .

Folosind abordarea de mai jos, puteți să utilizați Word, Access sau Excel pentru a citi documente HTML pe web, modificați aceste documente și apoi trimiteți orice doriți într-o fereastră nouă a browserului.

S-ar putea să pară ceva pe care doar un programator VBA experimentat poate să o facă, dar în acest articol vă voi arăta cum puteți face acest lucru singur, pornind de la o procedură de bază pentru a scoate date din aplicația proprie pe o pagină Web.

Activarea comenzilor Microsoft Internet

Primul pas, indiferent de modul în care doriți să utilizați capacitatea de a introduce / ieși propriul cod HTML prin VBA, este să activați referința Microsoft Internet Controls.

În Excel, faceți acest lucru dând clic pe “Dezvoltator” element de meniu, făcând clic pe Mod de proiectare, și apoi faceți clic pe “Afișați codul” buton. Acest lucru poate părea diferit în versiunile mai vechi ale programului Excel, dar, în esență, trebuie să găsiți unde puteți lansa editorul de cod VBA.

În editorul VBA, faceți clic pe Unelte, și apoi Referințe.

În fereastra Referințe, derulați până jos până când vedeți “Controalele Microsoft Internet“. Bifați caseta și apoi faceți clic pe “O.K“.

Acum, în cadrul codului dvs. VBA, veți putea să creați obiecte care pot obține informații de pe Internet și puteți ieși propriile documente HTML pe care le poate vizualiza utilizatorul în propriul browser.

Introducerea și editarea HTML

Primul lucru pe care veți dori să-l realizați aici este transmiterea informațiilor în HTML. Gândiți-vă cât de mult puteți face odată ce puteți să transmiteți informații către o pagină Web HTML perfect formatată. Puteți extrage date din foile de calcul Excel și le puteți extrage într-un raport bine formatat.

Pentru a crea această funcție, va trebui să introduceți un buton de comandă pe foaia dvs. Sub Dezvoltator meniu, faceți clic pe Mod de proiectare, apoi faceți clic pe “Introduce” buton. Veți vedea o listă de comenzi pe care le puteți adăuga în foaia dvs..

În acest caz, faceți clic pe butonul de control și plasați-l în foaia dvs. Asigurați-vă că există unele date în foaia (sau în orice foaie) pe care doriți să le transmiteți la un raport când faceți clic pe buton. Faceți clic stânga pe buton pentru ao selecta și faceți clic pe “Afișați codul“.

Introduceți următorul cod:

Sub Button1_Click ()
 Dim objIE ca obiect
 Dim HTML ca șir
 '---------- CODUL HTML TREBUIE DE LA AICI SI DOWN----------
 HTML = "Pagina de raport HTML"& _
 ""& _
 "Următoarele rezultate sunt rezultate din calculul dvs. zilnic"& _
 "

"& _

 "Producția zilnică:" & Sheet1.Cells (1, 1) & "

"& _

 "Rutine zilnică:" & Sheet1.Cells (1, 2) & "

"

 '---------- CODUL HTML ESTE AICI ȘI DE MAI SUS---------
 Pe eroare GoTo error_handler
 Setați objIE = CreateObject ("InternetExplorer.Application")
 Cu obiceiul
 .Navigați "despre: gol"
 În timp ce .Busy: DoEvents: Buclă
 În timp ce .ReadyState <> 4: DoEvents: Loop
 .Vizibil = Adevărat
 .Document.Write HTML
 Se termina cu
 Setați objIE = Nimic
 Ieșire Sub
error_handler:
 MsgBox ("Eroare neașteptată, renunț.")
 objIE.Quit
 Setați objIE = Nimic
End Sub

Acest cod afișează codul HTML pe care l-ați definit în acel șir de ieșire. După cum puteți vedea din exemplul de mai sus, puteți încorpora datele din orice foaie din Excel în șirul HTML. Aici este raportul paginii web care rezultă:

Acum, dacă aveți o lucrare de ieșire HTML, următorul pas pentru a face ca scriptul dvs. VBA să funcționeze practic ca un browser web este să citească în HTML de pe un site web, să manipuleze datele și apoi să-l trimită într-o pagină de ieșire HTML.

Sub Button1_Click ()
 Dim objIE ca obiect
 Dim HTML ca șir
 Pe eroare GoTo error_handler
 Setați objIE = CreateObject ("InternetExplorer.Application")
 Cu obiceiul
 .Navigați "http://www.google.com"
 În timp ce .Busy: DoEvents: Buclă
 În timp ce .ReadyState <> 4: DoEvents: Loop
 .Vizibil = Adevărat
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "Rezultatele mele proprii Google!

Aceasta este o versiune editată a paginii Google!

"& HTML &""
 Se termina cu
 Setați objIE = Nimic
Ieșire Sub
error_handler:
 MsgBox ("Eroare neașteptată, renunț.")
 objIE.Quit
 Setați objIE = Nimic
End Sub

Ce am făcut aici este folosirea obiectului IE pentru a citi HTML de la Google într-o variabilă de text din VBA numită HTML. Apoi mi-am plasat propriul text de ieșire HTML în partea de sus a paginii și apoi am ieșit același HTML în ieșirea HTML VBA. Acesta este aspectul:

Acesta este un exemplu foarte important al a ceea ce este capabil. Dar dacă te gândești la asta, odată ce ai HTML-ul dintr-o pagină Web încărcată în variabila șiră VBA, poți căuta anumite linii în pagină, căuta imagini, căuta adrese de e-mail ale numerelor de telefon - sau ai putea rescrie întreaga pagina de intrare într-o versiune nouă, ediată a aceleiași pagini, în orice format doriți și cu orice modificări doriți.

Făcând acest lucru ar fi nevoie de un șir de pricepere manipulare șir - dar nimic nu este imposibil de îndată ce ați citit în sursa HTML de pe web.

Vedeți vreun potențial de utilizare a intrărilor sau a ieșirilor HTML în propriile aplicații? Vă puteți gândi la orice utilizări minunate pentru acest scenariu? Împărtășiți-vă gândurile în secțiunea de comentarii de mai jos.

Credit de imagine: Shutterstock

Explorați mai multe despre: Programare, Programare Visual Basic.