Hoe u uw eigen basisbrowser maakt met behulp van VBA

Wanneer je echt stopt om erover na te denken, is een internetbrowser in zijn eenvoudigste vorm niet echt zo'n indrukwekkend programma. Ik bedoel, ja, het internet is geweldig voor iedereen.

Wanneer je echt stopt om erover na te denken, is een internetbrowser in zijn eenvoudigste vorm niet echt zo'n indrukwekkend programma.  Ik bedoel, ja, het internet is geweldig voor iedereen.
Advertentie

maak je eigen internetbrowser Wanneer je echt stopt om erover na te denken, is een internetbrowser in zijn eenvoudigste vorm niet echt zo'n indrukwekkend programma. Ik bedoel, ja, het internet is geweldig voor iedereen. Het concept van het koppelen van zoveel van 's werelds computers en mobiele apparaten binnen dit enorme netwerk, dat is episch. Maar het concept van het overbrengen van een tekstbestand met speciale code erin, en het weergeven van die overgedragen tekst op het computerscherm - dat is echt geen probleem.

Dankzij de ingesloten verwijzingen in toepassingen die VBA gebruiken, kunt u zelfs webpagina's invoeren en uitvoeren via uw eigen applicaties. Als je onze scriptartikelen in het verleden hebt gevolgd, dan weet je dat we dol zijn op VB-script en VBA, zoals mijn artikel over maximaliseren van Windows 3 manieren om applicaties te openen en Windows gemaximaliseerd met VB Script [Windows] 3 manieren om applicaties te openen en Windows gemaximaliseerd met VB Script [Windows] Als er iets is dat ik heel graag doe, zijn het VB-scripts schrijven. Of het nu gaat om een ​​Windows Script-bestand of een VBA-script in een toepassing, scripting biedt de mogelijkheid om functionaliteit toe te voegen aan applicaties ... Lees meer, Paul's op zelf-actualiserende grafieken Hoe maak je zelf-actualiserende Excel-grafieken in drie eenvoudige stappen Hoe maak je aan Zelf-actualiserende Excel-diagrammen in drie eenvoudige stappen We laten u zien hoe u uw Excel-diagrammen zelf kunt bijwerken. Voeg gewoon nieuwe gegevens toe en zie hoe ze automatisch in uw grafiek verschijnen. Het is snel en gemakkelijk. Meer lezen en Saikat voor het verzenden van massale e-mails Massale e-mails verzenden in Outlook met Afdruk samenvoegen Massale e-mails verzenden in Outlook Met Afdruk samenvoegen Meer lezen.

Met de onderstaande aanpak kunt u Word, Access of Excel gebruiken om HTML-documenten op internet te lezen, die documenten aan te passen en vervolgens in een nieuw browservenster uit te voeren wat u maar wilt.

Het klinkt misschien als iets dat alleen een ervaren VBA-programmeur kan doen, maar in dit artikel laat ik je zien hoe je dit zelf kunt doen, te beginnen met een basisprocedure om gegevens vanuit je eigen applicatie naar een webpagina te sturen.

Microsoft Internet Controls inschakelen

De eerste stap, ongeacht hoe u gebruik wilt maken van de mogelijkheid om uw eigen HTML via VBA in te voeren / uitvoeren, is om de Microsoft Internet Controls-referentie in te schakelen.

In Excel doet u dit door op het menu-item " Ontwikkelaar " te klikken, op Ontwerpmodus te klikken en vervolgens op de knop " Code bekijken " te klikken. Dit kan in oudere versies van Excel anders lijken, maar in essentie moet je vinden waar je de VBA-code-editor kunt starten.

maak je eigen internetbrowser

Klik in de VBA-editor op Extra en vervolgens op Verwijzingen .

een internetbrowser maken

Blader in het venster Verwijzingen helemaal naar beneden totdat u " Microsoft Internet Controls " ziet. Vink het vakje aan en klik vervolgens op " OK ".

een internetbrowser maken

Nu kunt u binnen uw VBA-code objecten maken die informatie van internet kunnen halen en u kunt uw eigen HTML-documenten uitvoeren die de gebruiker in zijn eigen browser kan bekijken.

HTML invoeren en uitvoeren

Het eerste dat u hier wilt bereiken, is het uitvoeren van informatie naar HTML. Bedenk hoeveel u kunt doen als u informatie kunt uitvoeren naar een perfect opgemaakte HTML-webpagina. U kunt gegevens uit uw Excel-spreadsheets extraheren en deze in een mooi geformatteerd rapport uitvoeren.

een internetbrowser maken

Als u deze functie wilt maken, moet u een opdrachtknop op uw blad plaatsen. Klik in het menu Ontwikkelaar op Ontwerpmodus en klik vervolgens op de knop " Invoegen ". U ziet een vervolgkeuzelijst met besturingselementen die u aan uw blad kunt toevoegen.

Klik in dit geval op de knopbesturing en plaats deze in uw blad. Zorg ervoor dat er enkele gegevens in het blad (of een vel) staan ​​die u naar een rapport wilt uitvoeren wanneer op de knop wordt geklikt. Klik met de linkermuisknop op de knop om deze te selecteren en klik op " Code bekijken ".

Voer de volgende code in:

 Subknop 1_Click () 
 Dim objIE als object 
 Dim HTML als tekenreeks 
 '---------- De HTML-CODE GAAT VAN HIER EN DOWN ---------- 
 HTML = "HTML-rapportpagina" & _ 
 "" & _ 
 " De volgende resultaten van uw dagelijkse berekening " & _ 
 " 

"& _

 "Dagelijkse productie:" & Sheet1.Cells (1, 1) & " 

"& _

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

"

 '---------- De HTML-CODE GAAT HIER EN BOVEN --------- 
 On Error GoTo error_handler 
 Stel objIE = CreateObject ("InternetExplorer.Application") in 
 Met objIE 
 .Navigeer "about: blank" 
 Do While .Busy: DoEvents: Loop 
 Do While .ReadyState 4: DoEvents: Loop 
 .Visible = Waar 
 . Document. HTML herschrijven 
 Eindigt met 
 Stel objIE in = niets 
 Sub afsluiten 
 error_handler: 
 MsgBox ("Unexpected Error, I'm quitting.") 
 objIE.Quit 
 Stel objIE in = niets 
 End Sub 

Deze code voert de HTML uit die u in die uitvoerreeks hebt gedefinieerd. Zoals u aan de hand van mijn voorbeeld hierboven kunt zien, kunt u gegevens van elk blad in Excel insluiten in uw HTML-tekenreeks. Dit is het resulterende webpagina-rapport:

maak je eigen internetbrowser

Nu HTML-uitvoer werkt, is de volgende stap om ervoor te zorgen dat uw VBA-script virtueel werkt als een webbrowser, het lezen van HTML van een bepaalde website, het manipuleren van de gegevens en deze vervolgens uitvoeren naar een HTML-uitvoerpagina.

 Subknop 1_Click () 
 Dim objIE als object 
 Dim HTML als tekenreeks 
 On Error GoTo error_handler 
 Stel objIE = CreateObject ("InternetExplorer.Application") in 
 Met objIE 
 .Navigeer 'http://www.google.com' 
 Do While .Busy: DoEvents: Loop 
 Do While .ReadyState 4: DoEvents: Loop 
 .Visible = Waar 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "Mijn eigen Google-resultaten! 

Dit is een bewerkte versie van de Google-pagina!

"& HTML &" "
 Eindigt met 
 Stel objIE in = niets 
 Sub afsluiten 
 error_handler: 
 MsgBox ("Unexpected Error, I'm quitting.") 
 objIE.Quit 
 Stel objIE in = niets 
 End Sub 

Wat ik hier heb gedaan, is het IE-object gebruikt om HTML van Google te lezen in een tekstvariabele in VBA met de naam HTML. Vervolgens plaatste ik mijn eigen HTML-uitvoertekst bovenaan de pagina en gaf ik dezelfde HTML-code weer naar de VBA HTML-uitvoer. Dit is hoe dat eruit ziet:

Hoe u uw eigen basis-internetbrowser kunt maken met VBA vbabrowse6

Dit is een heel basaal voorbeeld van wat dit kan. Maar als je erover nadenkt, als je eenmaal de HTML van een webpagina hebt geladen in je VBA-tekenreeksvariabele, kun je naar specifieke regels op de pagina zoeken, naar afbeeldingen zoeken, zoeken naar e-mailadressen van telefoonnummers - of je zou het hele herschrijven voer de invoerpagina in in een nieuwe, bewerkte versie van dezelfde pagina in welk formaat u maar wilt en met alle gewenste wijzigingen.

Om dit te doen zou een beetje van de manipulatie van de snaren vereist moeten zijn - maar niets is onmogelijk als je eenmaal de HTML-broncode van het web hebt gelezen.

Ziet u mogelijkheden om HTML-invoer of uitvoer in uw eigen toepassingen te gebruiken? Kun je een goed gebruik van dit script bedenken? Deel uw mening in de commentarensectie hieronder.

Afbeelding tegoed: Shutterstock

In this article