Začínám mít pocit, že LO je další verze Go OO nedodělku
To není pocit, to je skutečnost. LO je de fakto nástupcem go-oo.
]]>Pozn. Začínám mít pocit, že LO je další verze Go OO nedodělku
]]>Někde se to tu zmiňovalo, že v LibreOffice se to musí povolit někde v nastavení - něco jako povolit vývojové, neotestované funkce nebo tak něco.
Pozn. V LO 3.3 nejde nahrát makro, nedá se záznam vyvolat nadef.klávesou, v menu není a když se doplní je nepřístupné. Asi zablokované, že by pokrok?
]]>Sub tisk_vyberu
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
list=thisComponent.Sheets(1)' list cislo 2
i = 0 ' i je cislo radku
zacatek=list.getCellByPosition(0,0) ' bunka A1
do
konec = list.getCellByPosition(0,i)
i = i + 1
loop while konec.string > "" ' zkontroluje bunky ve sloupci A zda je vysledek hodnota
thiscomponent.currentcontroller.select(konec) ' vybere prvni bunku, ktera neobsahuje hodnotu
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = true
rem najdeme posledni pouzitou bunku
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args1())
rem skryjeme radky s bunkami bez hodnot
dispatcher.executeDispatch(document, ".uno:HideRow", "", 0, Array())
rem vytiskneme
dispatcher.executeDispatch(document, ".uno:Print", "", 0, Array()
wait 2000
rem zobrazime zpatky radky
dispatcher.executeDispatch(document, ".uno:ShowRow", "", 0, Array())
rem presuneme se na bunku A1
thiscomponent.currentcontroller.select(zacatek)
end sub
Makro bude fungovat určitě, bude muset zjistit, zda výsledek v buňce je hodnota nebo "", vybrat a označit určenou oblast a tisknout. To půjde vydržte.
]]>Nebo (lépe) použijte na buňky podmíněné formátování, kde použijete tento vzorec a "neviditelný" styl.
Ten si ale musíte nejdříve vytvořit. ;o)