Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum2 -- CercaGlobale -- Informativa su Cookie e Privacy

Questo Forum1 è in sola lettura -- Usa il Forum2


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
guida macro libreoffice calc, ne esistono?
#1
salve a tutti....
sto avendo qualche problema con le mecro in libreoffice calc, e volevo chiedervi se esiste un tutorial in italiano per la "grammatica" delle macro;
premetto che ho una certa pratica con le macro in excel, ma ho abbandonato da più di due anni win, e vorrei potermele creare alla bisogna in libre cal (ho la 1.3.4.4)

ad esempio ho creato in LibreOo con "Registra macro", una macro che nel documento Pippo, foglio Pluto:
1- seleziona l'intervallo B19:F260
2- lo ordina in senso decrescente secondo la colonna B (contiene date)
3- lo copia ed incolla due righe più in basso (B21)
4- cancella le prime due righe della selezione 1 (in modo da averle sempre disponibili per nuovi inserimenti)
5- crea nell'intervallo B17:F262, un filtro automatico (B17:F17 contiene le intestazioni di colonna

ora mi piacerebbe fare in modo che la suddetta macro venga eseguita automaticamente ogni volta che viene scritto un numero maggiore di zero nella cella B19;
suggerimenti?

grazie

ps segue la macro...

REM ***** BASIC *****


sub Main3
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$B$19:$F$260"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(7) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ByRows"
args3(0).Value = true
args3(1).Name = "HasHeader"
args3(1).Value = false
args3(2).Name = "CaseSensitive"
args3(2).Value = false
args3(3).Name = "NaturalSort"
args3(3).Value = false
args3(4).Name = "IncludeAttribs"
args3(4).Value = true
args3(5).Name = "UserDefIndex"
args3(5).Value = 0
args3(6).Name = "Col1"
args3(6).Value = 2
args3(7).Name = "Ascending1"
args3(7).Value = false

dispatcher.executeDispatch(document, ".unoBig GrinataSort", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$B$21"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args5())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".unoTongueaste", "", 0, Array())

rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint"
args8(0).Value = "$B$19:$F$20"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args8())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

rem ----------------------------------------------------------------------
dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "ToPoint"
args11(0).Value = "$B$17:$F$262"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args11())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".unoBig GrinataFilterAutoFilter", "", 0, Array())

rem ----------------------------------------------------------------------
dim args13(0) as new com.sun.star.beans.PropertyValue
args13(0).Name = "ToPoint"
args13(0).Value = "$B$19"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args13())


end sub
Cita messaggio
#2
ne esistono molte, vai nel tutorial del forum http://user.services.openoffice.org/it/f...167557f659
purtroppo il registratore macro è una schifezza e bisogna imparare a farne a meno
se sai un po' d'inglese c'è questo http://www.oooforum.org/forum/viewforum.phtml?f=9
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#3
Oltre ai link che ti ha fornito patel puoi trovare molti link dove potrai reperire macro qui: http://user.services.openoffice.org/it/f...f=6&t=2164
Vladko si è occupato di postare la raccolta di link.
Cita messaggio
#4
ringrazio entrambi,

i link li avevo trovati ed ho iniziato a spulciarli, anche se cercavo qualcosa di più pratico (ho imparato il vba su un vecchio libro dove erano riportati codici, tipo if..then...else ecc..., ed esempi pratici)

comunque guardo per bene magari alla fine trovo quello che cerco...
Cita messaggio
#5
comunque programmare con libreoffice è decisamente più difficile che con office che mentre scrivi le istruzioni vba ti corregge/suggerisce la sintassi.
Un titolo ben azzeccato attira l'attenzione degli esperti in quel campo, fa risparmiare tempo a voi, aumenta la probabilità di successo.
Cita messaggio
#6
me ne sto accorgendo......
ma soprattutto mancano informazioni (esempi) pratiche
Cita messaggio
#7
Questa pagina l'hai visitata?
Cita messaggio
#8
purtroppo l'inglese non è parte delle mie conoscenze;
ai miei tempi...la possibilità di scelta al liceo era limitata Smile
comunque proverò a darci un'occhiatina qualcosina credo comunque di capirla, provando e riprovando comincio a capire un pò la sintassi.....

dimenticavo, ma startoffice (che ho trovato nei link che mi avete indicato) è tutta un'altra cosa (sempre riguardo al linguaggio macro)?
Cita messaggio
#9
nik57, mi spiace ma in italiano non riesco a trovare nulla Undecided
Riguardo a Staroffice si tratta di una suite con licenza chiusa, non è stata più sviluppata perché i sorgenti sono stati rilasciati a Sun microsystems e poi è nato openoffice. Riguardo alle macro per staroffice non posso aiutarti mi spiace.
Cita messaggio
#10
fa lo stesso...
comunque nei link precedenti qualcosa in italiano c'è, provo a dedicarci un pò di tempo
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)