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. 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 så mye.
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 selv- Oppdaterer 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 sender ut masse e-postadresser Slik sender du personlig masse e-postmeldinger 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 sende 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å “Utvikler” menyelement, klikk Designmodus, og deretter klikke på “Vis kode” knapp. Dette kan virke annerledes i eldre versjoner av Excel, men i hovedsak må du finne hvor du kan starte VBA-kodeditoren.
I VBA-editoren klikker du på Verktøy, og så referanser.
I vinduet Referanser ruller du helt ned til du ser “Microsoft Internet Controls“. Merk av i boksen og klikk deretter “OK“.
Nå, innenfor 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.
For å opprette denne funksjonen må du sette inn en kommandoknapp på arket ditt. Under Utvikler menyen, klikk på Designmodus, og klikk deretter på “Sett inn” knapp. 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 nede----------
HTML = "HTML-rapportside "& _
""& _
"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
.Naviger "om: blank"
Gjør mens .Busy: DoEvents: Loop
Gjør mens .ReadyState <> 4: DoEvents: Loop
.Synlig = 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:
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
.Naviger "http://www.google.com"
Gjør mens .Busy: DoEvents: Loop
Gjør mens .ReadyState <> 4: DoEvents: Loop
.Synlig = 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:
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
Utforsk mer om: Programmering, Visual Basic Programmering.