

Excel 2010 uložení jako obrázek pomocí vba
Zdravím,
potřeboval bych poradit, mám list v excelu 2010 a potřeboval bych při spuštění makra aby tento list uložil jako obrázek (.png) pomocí vba.
Přikládám obrázek toho co jsem sehnal na internetu, funguje to ale problém je v tom že při otevření obrázku v malování, Windows prohlížeč fotografií nebo Photo Gallery při přiblížení dochází nejspíš ke kompresi a je to docela špatně čitelné. Řešení jsem našel otevřít to např. v IE. Což by nebyl zas takový problém, tyto obrázky posílám kolegům v práci a nevím zda by každý pochopil aby to otevíral v IE, defaultně se to otevírá v jednom ze tří jmenovaných programů.
Co přesně potřebuju ... potřebuju jestli by při ukládání šla zlepšit kvalita (rozlišení ? ) aby když to otevírají v malování, Windows prohlížeč fotografií nebo Photo Gallery při přiblížení byl text čitelný.
Hledal jsem na googlu, ale jelikož se syntaxi v vba nemám žádné zkušenosti tak na to čumím jako tele.
Předem děkuji za pomoc.
Chceš říct, že jeden a tentýž obrázek otevřený v těch třech programech vypadá jinak než v IE? Jakože ty tři ten obrázek zmrší? Nebo naopak IE z nekvalitního obrázku vytáhne víc než ty tři ostatní? Tak to bych rád viděl... Zkus to nějak odchytit a ukázat... Taky přilož ten uložený obrázek PNG.
Každopádně když jsem testoval jak excel převádí na obrázek, tak se zdá, že při zvolení varianty Format:=xlBitmap jsou výsledky lepší než pro Format:=xlPicture - má to o něco větší rozlišení a zřejmě používá antialiasing nebo něco podobného pro vylepšení obrazu.
Format:=xlPicture
![[http://pc.poradna.net/file/view/25068-xls-picture- png]](/file/view/25068-xls-picture-png)
Format:=xlBitmap
![[http://pc.poradna.net/file/view/25069-xls-bitmap-p ng]](/file/view/25069-xls-bitmap-png)
Máš pravdu, asi jsem po těch hodinách čumění do PC viděl to co není :D
Jak to teda mám udělat ?
edit. Zkoušel jsem to uložit jako PDF, ale PDF oseká tabulku (má velikost A1:O44), ve výsledku tam jsou asi 4 sloupce, což je nežádoucí.
Divné, že by export do PDF osekal tabulku, to se mi ještě fakt nestalo...
Zkus pro jistotu definovat oblast pro tisk (rozumí se tu celou oblast tabulky).
Tohle jsme právě už zkoušel. Zkoušel jsem použit:
Aktivní listy
Výběr (označil jsem tabulku)
u obou byl stejný výsledek, PDF oseká excel vždy po 5 sloupcích.
edit. Rozložení stránek v pdf je podle toho jak je to rozložené v Excelu, stránku (šířku) zabírá 5 sloupců, nastaveno na A4. Lze to přenastavit, aby to ignorovalo rozložení/rozměry A4, tudíž by šírka stránky byla ,,neomezená".
V Rozložení stránky -> Měřítko je defaultně 100%, když ale snížím na 55% a méně tak už to jde vidět tak jak má. Potřeboval bych to ale nejlépe hodit do makra, do funkce Aftersave.
Ok takže na rozložení jsme už teda přišel, teď bych potřeboval kód, který spočítá ve které poslední buňce jsou data, následně to uloží jako PDF.
Ty opravdu VBA nehovíš.
Už jsem tady 2x psal, že ten kód, co jsi sem dal - tedy subroutina JPG_tisk - definuje oblast, kterou chceš převést do obrázku. Copak asi tedy znamenají proměnné LastRow a LastCol?
Ano, jde o poslední obsazený řádek a poslední obsazený sloupec. Po provedení:
obsahuje proměnná rng odkaz na celou oblast s daty.
Tady máš ten můj testovací kód, který funguje - jen si pohlídej rozsah co se má exportovat, jestli ti to bere jen pět sloupců a ty tam máš ještě další popsané sloupce, zkontroluj, jestli jsou obsazené i v prvním řádku! Případně si najdi kód, který prohledá celou tabulku a najde ten rozsah lépe...
Tu velikost jsem ošetřil tak, že jsem v Excelu nastavit: Tisk -> měřítko -> přizpůsobit všechny sloupce na jednu stránku (všiml jsem si že PDF vychází z toho jak ej to rozložené na tisk)
Btw. PDF se dokáže zjistit velikost (rozsah) kam až sahá ten sešit, ale vychází z toho co bylo změněno/upraveno, čili šéf, tam má předpřipravenou tabulku (ohraničení) až někam do nekonečna, a pdf to bere jako že tam něco je, takže tam do toho vezme i to ohraničení tabulky kde nejsou data.
Podívám se na ten tvůj kód, uvidíme jak to bude fungovat.
Zatím moc díky.
Makro jsem zkusil, funguje dobře, ale kvalita obrázku je velice mizerná. Asi bude opravdu nejlepší přes to PDF.
Uvidím co mi na to řekne šéf, moc děkuju všem a přejí hezký den.
U mě ta kvalita odpovídá nastavená lupy v Excelu (ono to defakto odchytává v kvalitě zobrazení na monitoru). Když to chceš kvalitnější, dej větší lupu:
![[http://pc.poradna.net/file/view/25078-testexcel1-p ng]](/file/view/25078-testexcel1-png)
![[http://pc.poradna.net/file/view/25079-testexcel2-p ng]](/file/view/25079-testexcel2-png)
![[http://pc.poradna.net/file/view/25080-testexcel3-p ng]](/file/view/25080-testexcel3-png)
Lupa 25%
Lupa 100%
Lupa 200%