HTML-kód használata Excelben

2018. május 19. - Office Guru

A legutóbbi, RSSekre vonatkozó poszt sokakban elindított valamit, jópár kérdés érkezett hozzám a témában azóta, úgyhogy a következő poszt valamilyen szinten hasonló témát fog feszegetni, méghozzá HTML használatát Excelben. Tehát adott például egy HTML-kód az időkép "third party" oldalán, amit szeretnénk használni a dashboardunkban valamilyen módon. A most bemutatásra kerülő módszer alapvetően nem az egyetlen lehetőség, de szerintem a leggyorsabb és legegyszerűbb. Első lépésként rakjuk be valamelyik cellánkba a kódot:

web1.JPGHa ezzel megvagyunk, akkor a Developer ribbonfül Controls szekciójának Insert menüjében lépjünk a More Controls alpont alá:

web2.JPGInnen szúrjunk be szépen egy Microsoft Web Browser controlt:

web3.JPGHa esetleg valakinek ez nem működne és kapna egy "Cannot insert..." hibát, akkor a registryt kell egy kicsit hegeszteni, hogy pontosan mit, azt a Microsoft hivatalos oldalán megtaláljuk - ha mégis kellene valakinek segítség, kommenteljen.

Tehát most valahol itt tartunk:

web4.JPGEzután szintén a Developer ribbonfül Controls szekciójából szúrjunk be egy egyszerű kis gombot, ami majd végrehajtja nekünk az átalakítást:

web5.JPGEhhez pedig rendeljük hozzá VBA-editorban (ALT+F11 vagy a context menüből az Assign macro menüpont) a következő kódot:

Sub Button6_Click()
WebBrowser1.Navigate ("about:blank")
WebBrowser1.Document.Write (Range("C2"))
WebBrowser1.Refresh
End Sub

Mit is csinálunk most? Ugyebár a beszúrt WebBrowserünk az egyes számú, tehát az első sorban a WebBrowser1, Excelben működő kis böngészőjét üres képernyőre váltjuk, ez kötelező, hogy először betöltsünk egy valid, üres lapot. A WebBrowswer control maga egyébként azt teszi lehetővé, hogy az Internet Explorer böngésző funkcionalitását használjuk más applikációkban vagy éppen HTML-dokumentum megtekintőként is felfoghatjuk. A második sorral pedig konkrétan a C2 cellában megadott HTML-kóddal fogjuk feltölteni a WebBrowser objektumunkat, ergó megnyitjuk azt az oldalt, amit a C2-ben megadtunk, majd még ráküldünk egy Refresht, azaz újra betöltjük a jelenleg megjelenített dokumentumot a WebBrowser controlba.

Ezután ha rákattintunk a gombunkra, a következő fog történni:

web7.JPGUgyebár a HTML-kódunkban a linknek adtunk egy Display nevet, ez a Click here, ha rákattintunk a browserben, máris megy a történet:

web8.JPG

Értelemszerűen a Click here-részt kiiktathatjuk, ahogy a gombot is, de talán így jobban követhető volt a dolog.

A bejegyzés trackback címe:

http://officeguru.blog.hu/api/trackback/id/tr9413983968

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Atticusicius 2018.05.20. 19:29:19

Hello! Ott van nekem is a Microsoft Web Browser a More Controlok között de sajnos a regisztrálásnál elakadtam. Tudnál segíteni? Köszi!

Office Guru 2018.05.21. 21:33:07

@Atticusicius:
Start Menü - írd be, hogy regedit, majd indítsd el a registry editort
A megjelenő fában keresd meg a következőt:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\COM Compatibility\
Mivel most a Web Browserről van szó, keresd meg a 8856F961...kezdetű Classt.
A jobb oldalon megjelenő Compatibility Flagsre kattintva írd át a Decimal értéket 0-ra.

Kész is vagy.

Atticusicius 2018.05.21. 22:54:45

Hello!
Idáig jutottam: Számítógép\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Common\User Settings\…
a Common belül nincsen COM Compatibility
a User Settings-ben találtam rengeteg ilyen számsort, de 8856F961... nincs. A legközelebbi értékek : {86AF9220-9D6F-4575-BEF0-619A9A6AA005},{86E17AEA-A932-42C4-8651-95DE6CB37A08},{881D148A-610E-4F0A-8985-3BE4C0DB2B09},{8B524BCC-67EA-4876-A509-45E46F6347E8}.

Nem tudom számit-e: windows10-em van, 2016-os excel-em.