
Michael Fisher
0
2811
622
Když o tom opravdu přemýšlíte, internetový prohlížeč ve své nejjednodušší podobě není ve skutečnosti tak působivou aplikací. Myslím, že ano, internet je úžasný podle někoho standardu. Koncept propojení tolika světových počítačů a mobilních zařízení v této obrovské síti, to je epické. Ale koncept přenosu textového souboru se zvláštním kódem v něm a zobrazení přeneseného textu na obrazovku počítače - to opravdu není velký problém.
Díky vloženým referencím v aplikacích, které používají VBA, můžete webové stránky vkládat a vydávat prostřednictvím vlastních aplikací. Pokud jste sledovali naše minulé skriptovací články, pak víte, že milujeme skript VB a VBA, jako můj článek o maximalizaci oken 3 způsoby, jak otevřít aplikace a maximalizovat Windows pomocí skriptu VB [Windows] 3 způsoby, jak otevřít aplikace a maximalizovat Windows pomocí VB Skript [Windows] Pokud je jedna věc, kterou ráda dělám, je to psaní skriptů VB. Ať už se jedná o soubor Windows Script nebo skript VBA uvnitř aplikace, skriptování poskytuje možnost přidávat funkce aplikacím ..., Paul je na samoaktualizačních grafech Jak vytvořit samoaktualizační grafy Excelu ve třech snadných krocích Jak vytvořit samoaktualizující Excel Grafy ve třech snadných krocích Ukážeme vám, jak si sami aktualizovat grafy aplikace Excel. Stačí přidat nová data a sledovat, jak se automaticky zobrazují v grafu. Je to rychlé a snadné. a Saikat's o odesílání hromadných e-mailů Jak posílat personalizované hromadné e-maily v aplikaci Outlook s hromadnou korespondcí Jak odesílat personalizované hromadné e-maily v aplikaci Outlook s hromadnou korespondenci .
Pomocí níže uvedeného přístupu můžete pomocí aplikace Word, Access nebo Excel číst dokumenty HTML na webu, měnit tyto dokumenty a poté vydávat, co chcete, do nového okna prohlížeče..
Může to znít jako něco, co umí jen zkušený programátor VBA, ale v tomto článku vám ukážu, jak to můžete udělat sami, počínaje základním postupem pro výstup dat z vlastní aplikace na webovou stránku..
Povolení Microsoft Internet Controls
Prvním krokem, bez ohledu na to, jak chcete využít schopnost vkládat / vydávat svůj vlastní HTML prostřednictvím VBA, je povolit odkaz Microsoft Internet Controls.
V Excelu to provedete kliknutím na “Vývojář” klepnutím na položku nabídky Režim návrhu, a poté klepnutím na “Zobrazit kód” tlačítko. Ve starších verzích aplikace Excel se to může lišit, ale v zásadě musíte najít, kde můžete spustit editor kódu VBA.
V editoru VBA klikněte na Nástroje, a pak Reference.
V okně Reference posuňte celou cestu dolů, dokud neuvidíte “Microsoft Internet Controls“. Zaškrtněte políčko a klikněte na “OK“.
Nyní v rámci svého kódu VBA budete moci vytvářet objekty, které mohou získat informace z Internetu, a můžete vydat své vlastní dokumenty HTML, které si uživatel může prohlížet ve svém vlastním prohlížeči.
Vstup a výstup HTML
První věcí, kterou zde budete chtít dosáhnout, je výstup informací do HTML. Přemýšlejte o tom, kolik toho můžete udělat, jakmile získáte informace na dokonale formátované webové stránce HTML. Můžete extrahovat data z tabulek aplikace Excel a vydávat je v pěkně formátované sestavě.
Chcete-li tuto funkci vytvořit, musíte do listu vložit příkazové tlačítko. Pod Vývojář klikněte na Režim návrhu, a poté klikněte na ikonu “Vložit” tlačítko. Uvidíte rozevírací seznam ovládacích prvků, které můžete přidat do svého listu.
V takovém případě klepněte na tlačítko a umístěte jej do svého listu. Ujistěte se, že v listu (nebo v libovolném listu) jsou některá data, která chcete po kliknutí na tlačítko odeslat do sestavy. Klikněte levým tlačítkem myši na tlačítko a vyberte jej “Zobrazit kód“.
Zadejte následující kód:
Pod Button1_Click ()
Dim objIE As Object
Dim HTML jako řetězec
'---------- KÓD HTML ZÍSKÁ OD TU A DOLŮ----------
HTML = "Stránka přehledu HTML" & _
„“ & _
"Níže jsou uvedeny výsledky vašeho denního výpočtu"& _
""& _
"Denní produkce:" & Sheet1.Cells (1, 1) & ""& _
"Denní šrot:" & Sheet1.Cells (1, 2) & ""
'---------- KÓD HTML ZÍSKÁ ZDE A VYŠŠÍ---------
On Error GoTo error_handler
Nastavit objIE = CreateObject ("InternetExplorer.Application")
S objIE
.Navigujte „about: blank“
Do while .Busy: DoEvents: Loop
Do while .ReadyState 4: DoEvents: Loop
.Viditelné = Pravda
.Document.Write HTML
Konec s
Nastavit objIE = Nic
Exit Sub
error_handler:
MsgBox („Neočekávaná chyba, končím.“)
objIE.Quit
Nastavit objIE = Nic
End Sub
Tento kód vydává HTML, které jste definovali v tomto výstupním řetězci. Jak vidíte z mého příkladu výše, můžete do svého řetězce HTML vložit data z libovolného listu v Excelu. Výsledná zpráva o webové stránce:
Nyní, když máte HTML výstup funkční, dalším krokem, aby váš VBA skript fungoval prakticky jako webový prohlížeč, je načíst HTML z nějakého webu, manipulovat s daty a poté je výstupem na výstupní HTML stránku.
Pod Button1_Click ()
Dim objIE As Object
Dim HTML jako řetězec
On Error GoTo error_handler
Nastavit objIE = CreateObject ("InternetExplorer.Application")
S objIE
.Přejděte na stránku http://www.google.com.
Do while .Busy: DoEvents: Loop
Do while .ReadyState 4: DoEvents: Loop
.Viditelné = Pravda
HTML = objIE.Document.Body.innerHTML
.Document.Write "Moje vlastní výsledky Google!Toto je upravená verze stránky Google!
"& HTML &" "
Konec s
Nastavit objIE = Nic
Exit Sub
error_handler:
MsgBox („Neočekávaná chyba, končím.“)
objIE.Quit
Nastavit objIE = Nic
End Sub
Zde jsem použil objekt IE ke čtení HTML od Googlu do textové proměnné ve VBA nazvané HTML. Poté jsem umístil svůj vlastní výstupní text HTML do horní části stránky a poté vydal stejný HTML do HTML výstupu VBA. Vypadá to takto:
Toto je velmi základní příklad toho, čeho je to schopno. Ale pokud o tom přemýšlíte, jakmile máte HTML z webové stránky načtené do vaší proměnné řetězce VBA, můžete hledat konkrétní řádky na stránce, hledat obrázky, hledat e-mailové adresy telefonních čísel - nebo můžete přepsat celý vstupní stránku do nové, upravené verze stejné stránky v libovolném formátu a se všemi úpravami, které se vám líbí.
To by vyžadovalo trochu zdatnosti manipulace s řetězci - ale nic není nemožné, jakmile si přečtete zdroj HTML z webu.
Vidíte nějaký potenciál pro použití vstupu nebo výstupu HTML ve vlastních aplikacích? Dokážete vymyslet nějaké skvělé využití tohoto skriptu? Sdílejte své myšlenky v sekci komentářů níže.
Obrázek: Shutterstock