Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


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 users+help@it.libreoffice.org
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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.