< návrat zpět
MS Excel
Téma: Jak vybrat druhoou oblast pro uložení do pdf
Zaslal/a Marekkoc 13.10.2015 12:43
Ahoj, mám následující VBA pro uložení oblasti do pdf:
a = "K:\1\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
a & FDoklad & Format(Now, "yyyymmdd"), Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
OpenAfterPublish:=False
Tento kód uloží vybraný aktivní list ( test1) do pdf. Můj dotaz je: na dalším listu ( test2) mám tabulku, kterou bych rád připojil k aktivnímu listu a cele to uložil do jednoho pdf, ale nevím jak na to. Děkuju za pomoc.
Marek
elninoslov(13.10.2015 13:30)#027387 Ak viete, že v liste 1 sa nevyskytuje viac strán ako 1, tak takto:
Sub PDF()
Dim a As String, FDoklad as String
a = "K:\1\"
FDoklad = "dokladXY"
Sheets(Array("test1", "test2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
a & FDoklad & Format(Now, "yyyymmdd"), Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=2, _
OpenAfterPublish:=False
Sheets("test1").Select
End Sub
Ak ale v liste 1 je viac strán, a Vy potrebujete exportovať iba prvú + prvá z listu 2, tak ma napadá jedine zlúčenie oboch prvých strán do jedného dočasného listu,a ten exportovať.
citovat
Marekkoc(13.10.2015 14:12)#027388 Popravdě, by mi stačilo, aby se tabulka z test2 ( A2:F11) po spučtění kodu překopírovala do test1 např. A10:F19. Jak na to? Děkuju.
citovat
elninoslov(13.10.2015 16:29)#027399 Napr takto, a nezostane Vám tam tá tabuľka po exporte.
EDIT: Príloha aktualizovaná (16:28).
Příloha: 27399_copy-table.rar (22kB, staženo 31x) citovat
Marekkoc(14.10.2015 8:33)#027415 V tom test1 zůstane tabulka z test2. Mě jde o toto: nech se jen přilepí první strana z test2 k první straně test1, ale pouze ve výsledném pdf klidně jako obrázek. Bylo by fajn kdyby to bylo v rámci jedné stránky pdf, protože tabulky jak z test1 tak test2 mají max 25 řádků.
citovat
Marekkoc(14.10.2015 8:41)#027416 Tak jsem to vyřešil jiným přístupem, pomocí propojení jako obrázek a následné skrývaní buňěk. Děkuju všem za pomoc. Marek
citovat
elninoslov(14.10.2015 9:05)#027418 Marekkoc napsal/a:
V tom test1 zůstane tabulka z test2. Mě jde o toto: nech se jen přilepí první strana z test2 k první straně test1, ale pouze ve výsledném pdf klidně jako obrázek. Bylo by fajn kdyby to bylo v rámci jedné stránky pdf, protože tabulky jak z test1 tak test2 mají max 25 řádků.
Prvou vetou odporujete druhej. Ja som Vám to urobil tak, že sa druhá tbl prilepí k prvej, vyexportuje sa to spolu na jednej stránke, a prilepená tbl sa znovu "odlepí". Pričom to prilepenie berie do úvahy vždy aktuálne veľkosti tabuliek.
Ale snaha vyriešiť to sám sa cení. Chválim.
citovat
chey(14.10.2015 21:14)#027451 Vidím, že je prakticky vyřešeno, ale možná někomu pomůže můj postup: v jednotlivých listech sešitu zadám oblasti tisku a potom listy naklikám pomocí klávesy Shift nebo Ctrl do skupiny. Nakonec zadám uložit jako pdf nebo ve starších verzích Excelu odešlu do Pdf Creatoru.
citovat
elninoslov(15.10.2015 10:11)#027457 Presne to robí ten môj prvý kód. Čiže ak to chce mať na jeden klik, tak je makro jediná možnosť. Z pamäti teraz neviem, či označením oblasti tlače docilime spojenie listov na jednu stranu, overím keď budem doma. Inak je riešením môj druhý variant.
citovat
Marekkoc(15.10.2015 13:08)#027459 Jenom moje řešení, udělal jsem propojení oblasti jako obrázek a potom jedním tlačítkem obrázek schovám a druhým zobrazím ve výstupním pdf.
ActiveSheet.Shapes("Obrázek 7").Visible = False
ActiveSheet.Shapes("Obrázek 7").Visible = True
Asi je to kostrbaté, ale funguje to.
citovat
elninoslov(15.10.2015 16:21)#027467 Ak by hrozilo, že sa bude zošit používať na inej jazykovej verzii Excelu ako CZ, tak si ten objekt obrázku premenujte. Ak je totiž objekt nazvaný defaultným menom, ktoré mu dá Excel, tak toto meno je lokalizované, a to znamená že na EN/SK Exceli sa bude hľadať lokalizovaný názov, čiže napr. Picture7. Bác, chyba makra. Akonáhle to ale premenujete, tak sa bude všade používať ten premenovaný názov.
Napr. takto to môžete premenovať:
http://wall.cz/index.php?m=topic&id=27237#post-27237citovat