Sådan opretter du din egen basale internetbrowser ved hjælp af VBA

  • Gabriel Brooks
  • 0
  • 4901
  • 620
Reklame

Når du virkelig holder op med at tænke over det, er en internetbrowser i sin enkleste form ikke så imponerende en applikation. Jeg mener, ja, Internettet er forbløffende efter nogens standarder. Konceptet med at forbinde så mange af verdens computere og mobile enheder inden for dette enorme netværk, det er episk. Men konceptet med at overføre en tekstfil med en speciel kode i den og vise den overførte tekst på computerskærmen - det er virkelig ikke en big deal.

Faktisk takket være de indlejrede referencer i applikationer, der bruger VBA, kan du indtaste og udsende 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 applikationer på og Windows maksimeret med VB Script [Windows] Hvis der er en ting, jeg elsker at gøre, er det at skrive VB-scripts. Uanset om det er en Windows-scriptfil eller et VBA-script i et program, giver scripting muligheden for at tilføje funktionalitet til applikationer…, Paul's på selvopdaterende diagrammer Sådan oprettes selvopdaterende Excel-diagrammer i tre nemme trin Hvordan man opretter selvopdaterende Excel Diagrammer i tre nemme trin Vi viser dig, hvordan du opretter dine Excel-diagrammer til selvopdatering. Bare tilføj nye data og se, hvordan de automatisk vises i din graf. Det er hurtigt og nemt. , og Saikat ved afsendelse af masse-e-mails Sådan sendes personlige masse-e-mails i Outlook med mail-fletning Sådan sendes personaliserede masse-e-mails i Outlook med mail-fletning .

Ved hjælp af fremgangsmåden nedenfor kan du bruge Word, Access eller Excel til at læse HTML-dokumenter på nettet, ændre disse dokumenter og derefter udskrive hvad du vil i et nyt browservindue.

Det lyder måske 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 dette selv, startende med en grundlæggende procedure til at sende 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 muligheden for at indtaste / output din egen HTML via VBA, er at aktivere Microsoft Internet Controls-referencen.

I Excel gør du dette ved at klikke på “Udvikler” menupunkt, klikke på Designtilstand, og klik derefter på “Se kode” knap. Dette kan forekomme anderledes i ældre versioner af Excel, men det er vigtigt, at du finder hvor du kan starte VBA-kodeditoren.

Klik på VBA-editoren Værktøj, og så Referencer.

Rul hele vejen ned i Referencer-vinduet, indtil du ser “Microsoft Internet-kontrol“. Marker afkrydsningsfeltet, og klik derefter på “Okay“.

Nu inden for din VBA-kode vil du være i stand til at oprette objekter, der kan få information fra Internettet, og du kan udsende dine egne HTML-dokumenter, som brugeren kan se i deres egen browser.

Input og output HTML

Den første ting, du ønsker at opnå her, er at sende oplysninger 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 udsende dem i en pænt formateret rapport.

For at oprette denne funktion skal du indsætte en kommandoknap på dit ark. Under Udvikler menu, klik på Designtilstand, og klik derefter på “Indsæt” knap. Du kan 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 der klikkes på knappen. Venstreklik på knappen for at vælge den, og klik på “Se kode“.

Indtast følgende kode:

Subknap1_Klik ()
 Dim objIE som objekt
 Dim HTML som streng
 '---------- HTML-KODE GÅR FRA HER OG NED----------
 HTML = "HTML-rapportside" & _
 "" & _
 "Følgende er resultater fra din daglige beregning"& _
 "

"& _

 "Daglig produktion:" & Ark1.Celler (1, 1) & "

"& _

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

"

 '---------- HTML-KODE GÅR HER OG OVER---------
 Ved fejl GoTo error_handler
 Indstil objIE = CreateObject ("InternetExplorer.Application")
 Med objIE
 .Naviger "om: blank"
 Gør mens .Busy: DoEvents: Loop
 Gør mens .ReadyState 4: DoEvents: Loop
 .Synlig = sandt
 .Dokument. Skriv HTML
 Slut med
 Indstil objIE = Intet
 Afslut sub
error_handler:
 MsgBox ("Uventet fejl, jeg afslutter.")
 objIE.Quit
 Indstil objIE = Intet
Afslut under

Denne kode udsender 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:

Nu hvor du har HTML-output, fungerer det næste trin for at få din VBA-script til at fungere praktisk som en webbrowser at læse i HTML fra et websted, manipulere dataene og derefter sende dem ud til en HTML-outputside.

Underknap1_Klik ()
 Dim objIE som objekt
 Dim HTML som streng
 Ved fejl GoTo error_handler
 Indstil objIE = CreateObject ("InternetExplorer.Application")
 Med objIE
 .Naviger på "http://www.google.com"
 Gør mens .Busy: DoEvents: Loop
 Gør mens .ReadyState 4: DoEvents: Loop
 .Synlig = sandt
 HTML = objIE.Document.Body.innerHTML
 .Document.Write "Mine egne Google-resultater!

Dette er en redigeret version af Google-siden!

"& HTML &" "
 Slut med
 Indstil objIE = Intet
Afslut sub
error_handler:
 MsgBox ("Uventet fejl, jeg afslutter.")
 objIE.Quit
 Indstil objIE = Intet
Afslut under

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

Dette er et meget grundlæggende eksempel på, hvad dette er i stand til. Men hvis du tænker over det, når du først har HTML fra en webside indlæst i din VBA-strengvariabel, kan du søge efter specifikke linjer på siden, kigge efter billeder, søge e-mail-adresser på telefonnumre - eller du kan omskrive hele indtast side i en ny, redigeret version af den samme side i det format, du vil og med de ændringer, du kan lide.

Dette kræver en smule strengmanipulation - men intet er umuligt, når du har læst i HTML-kilden fra internettet.

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

Billedkredit: Shutterstock




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.