Hur man gör din egen grundläggande webbläsare med hjälp av VBA

När du verkligen slutar tänka på det, är en webbläsare i sin enklaste form inte så imponerande en applikation. Jag menar, ja, Internet är fantastiskt av någons standarder.

När du verkligen slutar tänka på det, är en webbläsare i sin enklaste form inte så imponerande en applikation.  Jag menar, ja, Internet är fantastiskt av någons standarder.
Annons

skapa din egen webbläsare När du verkligen slutar tänka på det, är en webbläsare i sin enklaste form inte så imponerande en applikation. Jag menar, ja, Internet är fantastiskt av någons standarder. Begreppet att länka så många av världens datorer och mobila enheter inom detta massiva nätverk, det är episkt. Men begreppet att överföra en textfil med särskild kod i den och visa den överförda texten på datorskärmen - det är verkligen inte en stor sak.

I själva verket tack vare de inbäddade referenserna i applikationer som använder VBA, kan du skriva in och skriva ut webbsidor via dina egna applikationer. Om du har följt våra tidigare skriptartiklar vet du att vi älskar VB-skript och VBA, som min artikel om att maximera Windows 3 sätt att öppna program och Windows maximeras med VB Script [Windows] 3 sätt att öppna applikationer och Windows maximeras med VB Script [Windows] Om det finns en sak jag älskar att göra, skriver det VB-skript. Oavsett om det är en Windows Script-fil eller ett VBA-skript i ett program, ger skript möjligheten att lägga till funktionalitet för program ... Läs mer, Pauls på självuppdaterande diagram Hur man skapar självuppdaterande Excel-diagram i tre enkla steg Hur man skapar Självuppdaterande Excel-diagram i tre enkla steg Vi visar hur du gör din Excel-diagrams självuppdatering. Lägg bara till nya data och kolla hur de automatiskt visas i din graf. Det är snabbt och enkelt. Läs mer och Saikat sänder ut masspostmeddelanden Så skickar du personliga masspostmeddelanden i Outlook med Mail Merge Hur man skickar personliga masspostmeddelanden i Outlook med Mail Merge Läs mer.

Med hjälp av tillvägagångssättet nedan kan du använda Word, Access eller Excel för att läsa HTML-dokument på webben, ändra de dokumenten och sedan mata ut vad du vill ha i ett nytt webbläsarfönster.

Det kan låta som någonting som bara en erfaren VBA-programmerare kan göra, men i den här artikeln ska jag visa dig hur du kan göra det själv, och börja med en grundläggande procedur för att mata ut data från din egen applikation till en webbsida.

Aktiverar Microsoft Internet Controls

Det första steget, oavsett hur du vill utnyttja möjligheten att mata in / ut din egen HTML via VBA, är att aktivera Microsoft Internet Controls-referensen.

I Excel gör du det genom att klicka på menyn " Utvecklare ", klicka på Designläge och sedan klicka på " Visa kod " -knappen. Det kan tyckas annorlunda i äldre versioner av Excel, men i huvudsak behöver du hitta var du kan starta VBA-kodredigeraren.

skapa din egen webbläsare

I VBA-redigeraren klickar du på Verktyg och sedan Referenser .

gör en webbläsare

I fönstret Referenser bläddrar du hela vägen tills du ser " Microsoft Internet Controls ". Markera rutan och klicka sedan på " OK ".

gör en webbläsare

Nu, inom din VBA-kod, kommer du att kunna skapa objekt som kan få information från Internet och du kan skriva ut egna HTML-dokument som användaren kan visa i sin egen webbläsare.

Inmatning och utmatning av HTML

Det första du vill uppnå här är att lägga ut information till HTML. Tänk på hur mycket du kan göra när du kan mata ut information till en perfekt formaterad HTML-webbsida. Du kan extrahera data från dina Excel-kalkylblad och skriva ut dem i en snygg formaterad rapport.

gör en webbläsare

För att skapa den här funktionen måste du lägga in en kommandoknapp på ditt ark. Under Utvecklar- menyn, klicka på Design Mode och klicka sedan på " Insert " -knappen. Du får se en nedrullning av kontroller som du kan lägga till i ditt ark.

Klicka i så fall på knappen kontroll och placera den i ditt ark. Se till att det finns några data i arket (eller något ark) som du vill exportera till en rapport när knappen klickas. Vänsterklicka på knappen för att välja den och klicka på " Visa kod ".

Ange följande kod:

 Underknapp1_Click () 
 Dim objIE som objekt 
 Dimma HTML som sträng 
 '---------- HTML-koden går från här och nere ---------- 
 HTML = "HTML Report Page" & _ 
 "" Och _ 
 " Följande är resultat från din dagliga beräkning " & _ 
 " 

"& _

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

"& _

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

"

 '---------- HTML-koden går här och ovan --------- 
 På fel GoTo error_handler 
 Ange objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "about: blank" 
 Gör medan .Busy: DoEvents: Loop 
 Gör medan. ReadyState 4: DoEvents: Loop 
 .Visible = True 
 .Document.Write HTML 
 Sluta med 
 Ange objIE = Inget 
 Exit Sub 
 error_handler: 
 MsgBox ("Oväntat fel, jag avslutar.") 
 objIE.Quit 
 Ange objIE = Inget 
 Avsluta Sub 

Den här koden matar ut HTML-koden som du har definierat i den utgående strängen. Som du kan se från mitt exempel ovan kan du bädda in data från något ark i Excel i HTML-strängen. Här är den resulterande webbsiderapporten:

skapa din egen webbläsare

Nu när du har HTML-utdata fungerar, är nästa steg för att göra ditt VBA-skriptarbete praktiskt taget som en webbläsare att läsa i HTML från en viss webbplats, manipulera data och sedan mata ut den till en HTML-utskriftssida.

 Underknapp1_Click () 
 Dim objIE som objekt 
 Dimma HTML som sträng 
 På fel GoTo error_handler 
 Ange objIE = CreateObject ("InternetExplorer.Application") 
 Med objie 
 .Navigate "http://www.google.com" 
 Gör medan .Busy: DoEvents: Loop 
 Gör medan. ReadyState 4: DoEvents: Loop 
 .Visible = True 
 HTML = objIE.Document.Body.innerHTML 
 .Document.Write "Mina egna Google-resultat! 

Detta är en redigerad version av Googles sida!

"& HTML &" "
 Sluta med 
 Ange objIE = Inget 
 Exit Sub 
 error_handler: 
 MsgBox ("Oväntat fel, jag avslutar.") 
 objIE.Quit 
 Ange objIE = Inget 
 Avsluta Sub 

Vad jag har gjort här används iE-objektet för att läsa HTML från Google till en textvariabel i VBA kallad HTML. Sedan lade jag ut min egen HTML-utmatningstext högst upp på sidan och utmatade sedan samma HTML-kod till VBA HTML-utgången. Så här ser det ut:

Så här skapar du din egen grundläggande webbläsare med VBA vbabrowse6

Det här är ett mycket grundläggande exempel på vad detta kan. Men om du funderar på det, kan du söka efter specifika rader på sidan, leta efter bilder, söka efter e-postadresser till telefonnummer - om du kan skriva om hela den här HTML-filen från en webbsida i din VBA-strängvariabel. inmatningssida i en ny, redigerad version av samma sida i vilket format du vill och med alla ändringar du vill ha.

Om du gör det skulle det behöva lite strängmanipuleringsförmåga - men ingenting är omöjligt när du har läst i HTML-källan från webben.

Ser du någon potential för att använda antingen HTML-ingång eller -utmatning i dina egna applikationer? Kan du tänka på några coola användningsområden för det här skriptet? Dela dina tankar i kommentarfältet nedan.

Bildkredit: Shutterstock

In this article