reports:openoffice
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
reports:openoffice [2012/04/04 14:35] – [Výstupy do OpenOffice writer] Karel Petrů | reports:openoffice [2024/02/02 08:31] (aktuální) – [Makro na odstránkování podle textu v buňce] Libor Kadaník | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Výstupy do OpenOffice calc ====== | ====== Výstupy do OpenOffice calc ====== | ||
+ | |||
+ | ===== Převod šablon .stc na .ots ===== | ||
+ | |||
+ | **stc2ots.sh** | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | echo spustit v adresari s reporty | ||
+ | |||
+ | for i in `find -name " | ||
+ | for i in `find -name " | ||
+ | for i in `find -name " | ||
+ | for i in `find -name " | ||
+ | </ | ||
===== Vzorce pro počítání hodnot na jednotlivých řádcích ===== | ===== Vzorce pro počítání hodnot na jednotlivých řádcích ===== | ||
Řádek 8: | Řádek 21: | ||
< | < | ||
+ | ===== CRLF z SQL ===== | ||
+ | |||
+ | pro zalomení (viditelné v buňce) se musí vložit nezlomitelná mezera společně s CRLF | ||
+ | |||
+ | < | ||
+ | ===== Makro na odstránkování podle textu v buňce | ||
+ | |||
+ | Pokud se tiskne do OpenOffice calc více záznamů, které je třeba tisknout tak, aby hlavička každého zázamu začínala na samostatném listě, je možné použít následující makro. Pro každou šablonu je nutné specificky doupravit kde a co hledat (zalomení stránky se dá nad buňku, která obsahuje hledaný text) - v následujícím příkladu se na prvním listu v rozsahu J1:J3000 hledá text " | ||
+ | |||
+ | Pro automatické spuštění po otevření dokumentu je nutné makro " | ||
+ | <code freebasic> | ||
+ | sub ZalomitStranku | ||
+ | |||
+ | dim document | ||
+ | dim dispatcher as object | ||
+ | dim Sheet, CellRange, Descriptor, Found As Object | ||
+ | |||
+ | document | ||
+ | dispatcher = createUnoService(" | ||
+ | |||
+ | Sheet = ThisComponent.getSheets().getByIndex(0) ' | ||
+ | CellRange=Sheet.getCellRangeByName(" | ||
+ | Descriptor=CellRange.createSearchDescriptor() | ||
+ | With Descriptor | ||
+ | .SearchCaseSensitive=False | ||
+ | .SearchString=" | ||
+ | .SearchType=1 ' | ||
+ | .SearchWords=True ' | ||
+ | End With | ||
+ | |||
+ | Found=Sheet.findAll(Descriptor) 'najit vsechno podle .SearchString | ||
+ | dim args1(0) as new com.sun.star.beans.PropertyValue | ||
+ | |||
+ | If not ISNULL(Found) then | ||
+ | For i=0 to Found.Count-1 | ||
+ | ' | ||
+ | args1(0).Name = " | ||
+ | args1(0).Value = Found(i).AbsoluteName | ||
+ | dispatcher.executeDispatch(document, | ||
+ | dispatcher.executeDispatch(document, | ||
+ | dispatcher.executeDispatch(document, | ||
+ | Next | ||
+ | EndIf | ||
+ | |||
+ | 'skok zpatky na A1 | ||
+ | args1(0).Name = " | ||
+ | args1(0).Value = " | ||
+ | dispatcher.executeDispatch(document, | ||
+ | |||
+ | end sub | ||
+ | </ | ||
+ | |||
+ | ===== Makro na export do PDF ===== | ||
+ | |||
+ | Makro si zjistí plnou cestu a název otevřeného souboru a do stejného adresáře pod stejným názvem uloží .pdf. | ||
+ | |||
+ | Pro automatické spuštění po otevření dokumentu je nutné makro " | ||
+ | |||
+ | <code freebasic> | ||
+ | Sub SavePDF | ||
+ | |||
+ | cFile = ThisComponent.URL | ||
+ | cFile = Left(cFile, Len(cFile) - 4) + " | ||
+ | |||
+ | oDoc = StarDesktop.getCurrentComponent() | ||
+ | |||
+ | oDoc.storeToURL( ConvertToURL( cFile ),_ | ||
+ | Array( _ | ||
+ | | ||
+ | |||
+ | End Sub | ||
+ | |||
+ | Function MakePropertyValue( Optional cName As String, Optional uValue ) As com.sun.star.beans.PropertyValue | ||
+ | | ||
+ | If Not IsMissing( cName ) Then | ||
+ | oPropertyValue.Name = cName | ||
+ | EndIf | ||
+ | If Not IsMissing( uValue ) Then | ||
+ | oPropertyValue.Value = uValue | ||
+ | EndIf | ||
+ | | ||
+ | End Function | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Makro pro optimalni vysku vsech radku ===== | ||
+ | |||
+ | <code freebasic> | ||
+ | |||
+ | sub Main | ||
+ | doc = thisComponent | ||
+ | list = doc.sheets(0) | ||
+ | radky = list.rows | ||
+ | list.rows().OptimalHeight = True | ||
+ | end sub | ||
+ | |||
+ | </ | ||
====== Výstupy do OpenOffice writer ====== | ====== Výstupy do OpenOffice writer ====== | ||
Řádek 24: | Řádek 135: | ||
Vypnout náhrady uvozovek: " | Vypnout náhrady uvozovek: " | ||
- | ====== | + | ====== |
+ | |||
+ | Podepsaný ODT soubor nelze uložit jako podepsané PDF. Pomocí Adobe Reader se dají podepisovat pouze PDF dokumenty, které byly při vytvoření speciálně označeny - běžné nelze. Je nutné použít např. [[http:// | ||
+ | |||
+ | Lze také stáhnout [[http:// | ||
+ | |||
+ | ====== Úprava velkých repeated formátu OpenOffice - zaseknutí tisku ====== | ||
+ | |||
+ | Moznosti|LibreOffice|Expertni nastaveni: | ||
+ | org.openoffice.Office.Common.Save.Document.PrettyPrinting = true | ||
+ | |||
+ | <code bash> | ||
+ | unzip system/ | ||
+ | grep repeated / | ||
+ | vim / | ||
+ | zip -u -j system/ | ||
+ | </ | ||
+ | |||
+ | ====== Formátovaní čísla na výstupu ====== | ||
+ | |||
+ | Do buňky napsat **#@return {NumberFormat=DSI: | ||
- | Podepsaný ODT soubor nelze uložit jako podepsané PDF. Pomocí Adobe Reader se dají podepisovat pouze PDF dokumenty, které byly při vytvoření speciálně označeny - bežné nelze. Je nutné použít např. [[http:// | + | ====== Zobrazení po tisku v excelu ====== |
+ | Nedrží okraje + zápatí se překrývá s tiskem. | ||
+ | Řešení: ve formátu stránky - **Zápatí** zaškrtnout volbu **Automatická úprava výšky** |
reports/openoffice.1333550101.txt.gz · Poslední úprava: 2012/04/04 14:35 autor: Karel Petrů