ho fatto una macro semplicissima usando il dispatcher per unire una serie di celle, spostando il valore della seconda cella nella prima: ora: quando si tratta di unire le celle appare una finestra che chiede se voglio spostare i valori dalla seconda cella alla prima (anche se la cosa è già specificata nell'array). qualunque tasto io premo poi lui fa come chiesto nel codice, ma così sono costretto a premere invio ad ogni riga.

non voglio altre soluzioni magari senza il dispatcher, ma solo sapere se c'è un errore nel mio codice:

sub unione_celle_per_fix
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
dim i
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim valore
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

dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "MoveContents"
args2(0).Value = true

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

do until valore = ""
rem ----------------------------------------------------------------------


dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())

rem ----------------------------------------------------------------------


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

rem ----------------------------------------------------------------------


dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
valore = Thiscomponent.currentselection.string
loop

end sub

--
http://www.venerandi.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a