Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 10. 4. 2015 09:27:25

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

export do PDF landscape makrem VYŘEŠENO

Dobrý den, lámu si hlavu nad nastavením orientace stránky pro export listu do PDF pomocí makra. Myslel jsem že zafunguje nastavení pro tisk, ale je to nějaké nefunkční resp. funguje podivně. Musel jsem nastavit obráceně výšku a šířku stránky - to zafungovalo, ale orientaci to ignoruje. Máte s tím někdo zkušenosti? Cílem je exportovat z jednoho listu dvě oblasti v různé orientaci stránky (faktura a kniha jízd). Uvedený kód je funkční, ale nechápu to ignorování orientace, považuji to spíše za obejití než za vyřešení.

sub tisk_ve_dvou_polohach

dim sRange as string
dim sPATH as string
dim CRA(0) as new com.sun.star.table.CellRangeAddress
dim dokument as object
dim s1 as object

dokument = ThisComponent
s1 = dokument.Sheets.GetByName("List1")

'vlastnost exportu
  dim arg(0) as new com.sun.star.beans.PropertyValue
  arg(0).Name = "FilterName"
  arg(0).Value = "calc_pdf_Export" 


rem jdeme exportovat fakturu  
  Dim velikost As New com.sun.star.awt.Size
  velikost.Width = 21000 ' tj 21 cm šířky
  velikost.Height = 29700 ' tj 29,7 cm výšky
  Dim vl_tisku(1) as new com.sun.star.beans.PropertyValue
  vl_tisku(0).Name = "PaperSize"
  vl_tisku(0).Value = velikost
  vl_tisku(1).Name = "PaperOrientation"
  vl_tisku(1).Value = com.sun.star.view.PaperOrientation.PORTRAIT
  dokument.Printer = vl_tisku()
  
'nastavíme oblast tisku
  sRange = "A1:G24"
  CRA(0) = s1.getCellRangeByName(sRange).RangeAddress
  s1.setPrintAreas(CRA())
  	
'export do PDF	
  sPATH = "c:\_prace\AUTO\1502\faktury\0002315011_Jmeno_faktura.pdf"
  dokument.storeToURL(ConvertToUrl(sPATH), arg())
    
'jdeme exportovat knihu jízd
  velikost.Width = 29700 ' tj 29,7 cm šířky
  velikost.Height = 21000 ' tj 21 cm výšky
  vl_tisku(0).Name = "PaperSize"
  vl_tisku(0).Value = velikost
  vl_tisku(1).Name = "PaperOrientation"
  vl_tisku(1).Value = com.sun.star.view.PaperOrientation.LANDSCAPE
  dokument.Printer = vl_tisku()
  
'nastavíme oblast tisku
  sRange = "A26:K47"
  CRA(0) = s1.getCellRangeByName(sRange).RangeAddress
  s1.setPrintAreas(CRA())
  	
'export do PDF	
  sPATH = "c:\_prace\AUTO\1502\faktury\0002315011_Jmeno_kniha_jizd.pdf"
  dokument.storeToURL(ConvertToUrl(sPATH), arg())
 
end sub

Editoval ludviktrnka (10. 4. 2015 10:25:40)


LibreOffice 5.2.2.2

Offline

#2 10. 4. 2015 09:52:02

ludviktrnka
Člen
Registrace: 9. 7. 2009
Příspěvků: 520

Re: export do PDF landscape makrem VYŘEŠENO

... tak není to poprvé co krátce po zveřejnění tady na to přijdu (je to tady takový katalizátor myšlenek) - nějak se spolu nesnese nastavení velikosti a orientace, ovšem pokud velikost vyhodím (ostatně ji zde nepotřebuji tisknu na A4) tak orientace začíná fungovat. Zajímavé, ale je to tak.


LibreOffice 5.2.2.2

Offline

Zápatí