Dobrý den
rád bych dostal doporučení na literaturu zabývající se tvorbou maker v Calcu - pro začátečníka s malou historickou praxí s obecným Basicem na Comodoru a trochu Pascalem.
Procházel jsem si publikaci Makrá v OpenOffice, jenže ta je mám pocit hodně zaměřena na Writer, což se mi jako začátečníkovi jeví značně odlišné od aplikací v Calcu, ačkoli nepochybuji že teoretický základ je totožný, praxe mám pocit jde zcela jinými cestami.
Samozřejmě budu rád i za tištěnou literaturu, ale bohužel jen v češtině :-( (resp. slovenštině)
Druhý dotaz je na jazyky v OO. Používám a přizpůsobuji úspěšně příklady nalezené v tomto fóru např. potřebuji zkopírovat sloupec:
sub kopiruj_sloupec
dokument = ThisComponent
list_form = dokument.Sheets.GetByName("Formular")
for cislo_radku=9 to 22
list_form.GetCellByPosition(8, cislo_radku).Value = list_form.GetCellByPosition(16, cislo_radku).Value
next cislo_radku
end sub
když ale stejné příkazy použiji jako doplňky v zápisu níže (ten se generuje automaticky přes nahrávání makra) tak to nefunguje. Jde o jiný jazyk? V horním příkladu se třeba vůbec nedeklarují proměné a programu to nevadí, když se nedaklarují v tom spodním zápisu tak to hned zařve.
sub tisk
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
dim pocitadlo as integer
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$L$7"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())
end sub
Editoval ludviktrnka (4. 4. 2011 14:35:27)