Hvordan lage din egen grunnleggende nettleser ved hjelp av VBA

Når du virkelig slutter å tenke på det, er en nettleser i sin enkleste form ikke så imponerende et program. Jeg mener, ja, Internett er fantastisk av alles standarder.

Når du virkelig slutter å tenke på det, er en nettleser i sin enkleste form ikke så imponerende et program.  Jeg mener, ja, Internett er fantastisk av alles standarder.
Annonse

lage din egen nettleser Når du virkelig slutter å tenke på det, er en nettleser i sin enkleste form ikke så imponerende et program. Jeg mener, ja, Internett er fantastisk av alles standarder. Konseptet om å knytte så mange av verdens datamaskiner og mobile enheter i dette massive nettverket, det er episk. Men konseptet med å overføre en tekstfil med spesiell kode i den, og vise den overførte teksten på dataskjermen - det er egentlig ikke en stor sak.

Faktisk, takket være de innebygde referansene i applikasjoner som bruker VBA, kan du legge inn og sende ut nettsider via dine egne applikasjoner. Hvis du har fulgt våre tidligere skriptsartikler, vet du at vi elsker VB script og VBA, som min artikkel om å maksimere Windows 3 måter å åpne programmer og Windows maksimert med VB Script [Windows] 3 måter å åpne programmer og Windows maksimert med VB Script [Windows] Hvis det er en ting jeg elsker å gjøre, er det skrevet VB-skript. Enten det er en Windows Script-fil eller et VBA-skript i et program, gir skripting muligheten til å legge til funksjonalitet for programmer ... Les mer, Pauls på selvoppdaterende diagrammer Hvordan lage selvoppdaterende Excel-diagrammer i tre enkle trinn Hvordan lage Selvoppdaterende Excel-diagrammer i tre enkle trinn Vi viser deg hvordan du lager din Excel-diagram selvoppdatering. Bare legg til nye data og se hvordan de automatisk vises i grafen din. Det er raskt og enkelt. Les mer, og Saikat er på å sende ut masse e-postadresser Slik sender du personlige masseemails i Outlook med Mail Merge Slik sender du personlig masse e-postmeldinger i Outlook med Mail Merge Les mer.

Ved hjelp av fremgangsmåten nedenfor kan du bruke Word, Access eller Excel til å lese HTML-dokumenter på nettet, endre disse dokumentene, og deretter skrive ut hva du vil i et nytt nettleservindu.

Det kan høres ut som noe som bare en erfaren VBA-programmerer kan gjøre, men i denne artikkelen skal jeg vise deg hvordan du kan gjøre dette selv, og starter med en grunnleggende prosedyre for å utdata data fra din egen applikasjon til en nettside.

Aktiverer Microsoft Internet Controls

Det første trinnet, uansett hvordan du vil benytte deg av muligheten til å legge inn / utføre din egen HTML via VBA, er å aktivere Microsoft Internet Controls-referansen.

I Excel gjør du dette ved å klikke på menyen " Utvikler ", klikke på Designmodus, og deretter klikke på " Vis kode " -knappen. Dette kan virke annerledes i eldre versjoner av Excel, men i hovedsak må du finne hvor du kan starte VBA-kodeditoren.

lage din egen nettleser

I VBA-editoren klikker du Verktøy og deretter Referanser .

lage en nettleser

I vinduet Referanser ruller du helt ned til du ser " Microsoft Internet Controls ". Merk av i boksen og klikk deretter på " OK ".

lage en nettleser

Nå, i VBA-koden, vil du kunne lage objekter som kan få informasjon fra Internett, og du kan sende ut egne HTML-dokumenter som brukeren kan se i sin egen nettleser.

Innføring og utmatning av HTML

Det første du vil oppnå her, er å skrive ut informasjon til HTML. Tenk på hvor mye du kan gjøre når du kan sende ut informasjon til en perfekt formatert HTML-nettside. Du kan trekke ut data fra Excel-regnearkene dine og sende dem ut i en pent formatert rapport.

lage en nettleser

For å opprette denne funksjonen må du sette inn en kommandoknapp på arket ditt. Under Utvikler- menyen, klikk på Design Mode, og klikk deretter på " Sett inn " -knappen. Du får se en rullegardin av kontroller som du kan legge til i arket.

I dette tilfellet klikker du på kontrollknappen og legger den i arket. Kontroller at det er noen data i arket (eller et hvilket som helst ark) som du vil sende til en rapport når knappen klikkes. Venstre klikk på knappen for å velge den og klikk " Vis kode ".

Skriv inn følgende kode:

 Sub Button1_Click () 
 Dim objIE som objekt 
 Dim HTML som streng 
 '---------- HTML-koden går fra her og ned ---------- 
 HTML = "HTML Report Page" & _ 
 "" Og _ 
 " Følgende er resultater fra din daglige beregning " & _ 
 " 

"& _

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

"& _

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

"

 '---------- HTML-koden går her og over --------- 
 På feil, go to error_handler 
 Angi objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "about: blank" 
 Gjør mens .Busy: DoEvents: Loop 
 Gjør mens .ReadyState 4: DoEvents: Loop 
 .Visible = True 
 .Document.Write HTML 
 Slutt med 
 Angi objIE = Ingenting 
 Avslutt Sub 
 error_handler: 
 MsgBox ("Uventet feil, jeg avslutter.") 
 objIE.Quit 
 Angi objIE = Ingenting 
 Slutt Sub 

Denne koden utfører HTML-en som du har definert i den utgående strengen. Som du kan se fra mitt eksempel ovenfor, kan du legge inn data fra et hvilket som helst ark i Excel i HTML-strengen. Her er den resulterende nettsiden rapporten:

lage din egen nettleser

Nå som du har HTML-utdata, fungerer det neste trinnet for å gjøre VBA-skriptet ditt nesten like en nettleser, å lese i HTML fra et nettsted, manipulere dataene, og deretter sende det til en HTML-utgangsside.

 Sub Button1_Click () 
 Dim objIE som objekt 
 Dim HTML som streng 
 På feil, go to error_handler 
 Angi objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "http://www.google.com" 
 Gjør mens .Busy: DoEvents: Loop 
 Gjør mens .ReadyState 4: DoEvents: Loop 
 .Visible = True 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "Mine egne Google-resultater! 

Dette er en redigert versjon av Google-siden!

"& HTML &" "
 Slutt med 
 Angi objIE = Ingenting 
 Avslutt Sub 
 error_handler: 
 MsgBox ("Uventet feil, jeg avslutter.") 
 objIE.Quit 
 Angi objIE = Ingenting 
 Slutt Sub 

Hva jeg har gjort her, brukes iE-objektet til å lese HTML fra Google til en tekstvariabel i VBA kalt HTML. Deretter plasserte jeg min egen HTML-utgangstekst øverst på siden, og deretter utgav den samme HTML til VBA HTML-utgangen. Slik ser det ut:

Slik lager du din egen grunnleggende nettleser ved hjelp av VBA vbabrowse6

Dette er et veldig grunnleggende eksempel på hva dette er i stand til. Men hvis du tenker på det, kan du søke etter bestemte linjer på siden, se etter bilder, søke etter e-postadresser til telefonnumre - når du har HTML-en fra en nettside lastet inn i VBA-strengvariabelen din - eller du kan skrive om hele Inndataside i en ny, redigert versjon av samme side i hvilket format du liker og med eventuelle endringer du liker.

Å gjøre dette ville kreve litt strengmanipulasjonsmakt - men ingenting er umulig når du har lest i HTML-kilden fra nettet.

Ser du noe potensial for å bruke enten HTML-inngang eller -utgang i dine egne applikasjoner? Kan du tenke på noen kule bruksområder for dette skriptet? Del dine tanker i kommentarfeltet nedenfor.

Bilde kreditt: Shutterstock

In this article