Il 05/04/2012 13.14, admin lewis ha scritto:
Ciao,
vorrei fare una macro con una combinazione di tasti che mi faccia
taglia/incolla del contenuto di una cella e verso 2 celle più a destra
e una in alto. Dopodichè il cursore deve tornare alla posizione
originale.
Esempio:
"testo 1 cella"
"testo 2 cella"
devo spostare "testo 2 cella" sulla stessa riga della prima cella ma 2
colonne più a destra.
ciao
e grazie
luigi


Questa macro si puo' fare semplicemente usando il registratore di macro con
Strumenti->macro->registra_macro

se hai selezionato prima in
Strumenti->Opzioni->Generale->Abilita_le_funzionalita_sperimentali
e qui sotto c'e' il risultato.

ciao
Beppe


REM  *****  BASIC  *****
sub Main
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 -- uso ctrl+x
dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false
rem -- il cursore si sposta a dx di una cella
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false
rem -- il cursore si sposta a dx di una cella
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args3())

rem -- il cursore si sposta in alto di una cella
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "By"
args4(0).Value = 1
args4(1).Name = "Sel"
args4(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args4())

rem -- incolla la cella cancellata
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

end sub



--
Come cancellarsi: E-mail [email protected]
Problemi? http://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: http://wiki.documentfoundation.org/Netiquette
Archivio della lista: http://listarchives.libreoffice.org/it/users/
Tutti i messaggi inviati a questa lista vengono archiviati pubblicamente e non 
sono eliminabili

Rispondere a