Sådan laver du din egen grundlæggende internetbrowser ved hjælp af VBA

Når du virkelig holder op med at tænke over det, er en internetbrowser i sin enkleste form ikke så imponerende et program. Jeg mener, ja, internettet er fantastisk af alles standarder.

Når du virkelig holder op med at tænke over det, er en internetbrowser i sin enkleste form ikke så imponerende et program.  Jeg mener, ja, internettet er fantastisk af alles standarder.
Reklame

lav din egen internet browser Når du virkelig holder op med at tænke over det, er en internetbrowser i sin enkleste form ikke så imponerende et program. Jeg mener, ja, internettet er fantastisk af alles standarder. Konceptet om at forbinde så mange af verdens computere og mobile enheder inden for dette massive netværk, det er episk. Men begrebet overførsel af en tekstfil med speciel kode i den og viser den overførte tekst på computerskærmen - det er virkelig ikke en stor ting.

Faktisk takket være de indlejrede referencer i applikationer, der bruger VBA, kan du input og output websider via dine egne applikationer. Hvis du har fulgt vores tidligere script artikler, så ved du, at vi elsker VB script og VBA, ligesom min artikel om maksimering af Windows 3 måder at åbne applikationer og Windows maksimeret med VB Script [Windows] 3 måder at åbne programmer og Windows maksimeret med VB Script [Windows] Hvis der er en ting, jeg elsker at lave, er det skrevet VB scripts. Uanset om det er en Windows Script-fil eller et VBA-script i et program, giver scripting mulighed for at tilføje funktionalitet til applikationer ... Læs mere, Pauls på selvopdaterende diagrammer Sådan oprettes selvopdaterende Excel-kort i tre nemme trin Sådan oprettes Selvopdaterende Excel-kort i tre enkle trin Vi viser dig, hvordan du laver dine Excel-diagrammer selvopdatering. Tilføj blot nye data og se hvordan de automatisk vises i din graf. Det er hurtigt og nemt. Læs mere, og Saikat sender massemails. Sådan sendes personlige masseemails i Outlook med Mail Merge Sådan sendes personlige masseemails i Outlook med Mail Merge Læs mere.

Ved hjælp af nedenstående fremgangsmåde kan du bruge Word, Access eller Excel til at læse HTML-dokumenter på nettet, ændre disse dokumenter og derefter udføre det, du vil have i et nyt browservindue.

Det kan lyde som noget, som kun en erfaren VBA-programmør kan gøre, men i denne artikel vil jeg vise dig, hvordan du kan gøre det selv, begyndende med en grundlæggende procedure til at udføre data fra din egen applikation til en webside.

Aktivering af Microsoft Internet Controls

Det første trin, uanset hvordan du vil gøre brug af evnen til at input / output din egen HTML via VBA, er at aktivere Microsoft Internet Controls reference.

I Excel gør du dette ved at klikke på menupunktet " Udvikler ", klikke på Design Mode og derefter klikke på knappen " View Code ". Dette kan forekomme anderledes i ældre versioner af Excel, men i det væsentlige skal du finde, hvor du kan starte VBA-kodeditoren.

lav din egen internet browser

I VBA-editoren skal du klikke på Værktøjer og derefter Referencer .

lav en internet browser

I vinduet Referencer skal du rulle hele vejen ned, indtil du ser " Microsoft Internet Controls ". Markér boksen og klik derefter på " OK ".

lav en internet browser

Nu, inden for din VBA-kode, vil du kunne oprette genstande, der kan få oplysninger fra internettet, og du kan output dine egne HTML-dokumenter, som brugeren kan se i deres egen browser.

Indtastning og udskrivning af HTML

Den første ting, du vil opnå her, er at udstede information til HTML. Tænk på, hvor meget du kan gøre, når du kan sende oplysninger til en perfekt formateret HTML-webside. Du kan udtrække data fra dine Excel regneark og output dem i en pænt formateret rapport.

lav en internet browser

For at oprette denne funktion skal du indsætte en kommandoknap på dit ark. Klik på Design Mode under Developer- menuen, og klik derefter på knappen " Indsæt ". Du får se en dropdown af kontroller, som du kan tilføje til dit ark.

I dette tilfælde skal du klikke på knappen kontrol og placere den i dit ark. Sørg for, at der er nogle data i arket (eller et hvilket som helst ark), som du vil sende til en rapport, når knappen trykkes. Venstre klik på knappen for at vælge det og klik på " View Code ".

Indtast følgende kode:

 Underknap1_Klik () 
 Dim objIE som objekt 
 Dim HTML Som String 
 '---------- HTML-koden går fra her og nede ---------- 
 HTML = "HTML-rapportside" & _ 
 "" Og _ 
 " Det følgende er resultater fra din daglige beregning " & _ 
 " 

"& _

 "Daglig produktion:" & Sheet1.Cells (1, 1) & " 

"& _

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

"

 '---------- HTML-koden går her og over --------- 
 På fejl, go to error_handler 
 Indstil objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "om: blank" 
 Gør mens .Busy: DoEvents: Loop 
 Gør mens. ReadyState 4: DoEvents: Loop 
 .Visible = True 
 .Document.Write HTML 
 Slut med 
 Indstil objIE = Intet 
 Exit Sub 
 error_handler: 
 MsgBox ("Uventet fejl, jeg afslutter.") 
 objIE.Quit 
 Indstil objIE = Intet 
 Slutdel 

Denne kode udgiver den HTML, du har defineret i den outputstreng. Som du kan se fra mit eksempel ovenfor, kan du integrere data fra ethvert ark i Excel i din HTML-streng. Her er den resulterende webside rapport:

lav din egen internet browser

Nu, hvor du har HTML-output, arbejder det næste skridt for at gøre dit VBA script-arbejde stort set ligesom en webbrowser til at læse i HTML fra en eller anden hjemmeside, manipulere dataene og derefter udgive den til en HTML-outputside.

 Underknap1_Klik () 
 Dim objIE som objekt 
 Dim HTML Som String 
 På fejl, go to error_handler 
 Indstil objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "http://www.google.com" 
 Gør mens .Busy: DoEvents: Loop 
 Gør mens. ReadyState 4: DoEvents: Loop 
 .Visible = True 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "Mine egne Google resultater! 

Dette er en redigeret version af Google Page!

"& HTML &" "
 Slut med 
 Indstil objIE = Intet 
 Exit Sub 
 error_handler: 
 MsgBox ("Uventet fejl, jeg afslutter.") 
 objIE.Quit 
 Indstil objIE = Intet 
 Slutdel 

Hvad jeg har gjort her, bruges IE objektet til at læse HTML fra Google til en tekstvariabel i VBA kaldet HTML. Jeg lagde så min egen HTML-udgangstekst øverst på siden og udgav derefter den samme HTML til VBA HTML-output. Sådan ser det ud:

Sådan laver du din egen grundlæggende internetbrowser ved hjælp af VBA vbabrowse6

Dette er et meget grundlæggende eksempel på, hvad dette er i stand til. Men hvis du tænker på det, kan du søge efter bestemte linjer på siden, søge efter billeder, søge efter e-mail-adresser på telefonnumre - eller du kan omskrive hele det, når du har hentet HTML fra en webside til din VBA-strengvariabel. input side til en ny, redigeret version af samme side i hvilket format du kan lide og med eventuelle ændringer, du kan lide.

Gør dette ville kræve en smule strengmanipulationsprowess - men intet er umuligt, når du har læst i HTML-kilden fra internettet.

Ser du potentiale for at bruge enten HTML-input eller -udgang i dine egne applikationer? Kan du tænke på nogen cool anvendelser til dette script? Del dine tanker i kommentarfeltet nedenfor.

Billedkredit: Shutterstock

In this article