En un archivo de Calc una macro que copia contenidos de celdas a otra hoja funciona desde el editor de Macros pero cuando la ejecutas desde un botón en la hoja funciona mal y no copia el contenido.
El resto de macros aparentemente funcionan correctamente
Se trata de un ejemplo de factura que he adaptado:
https://blog.open-office.es/calc/modelo-de-factura-con-macros-para-imprimir-exportar-a-pdf-y-generar-resumenes
Por lo que he indagado puede tratarse de la versión del LO. Actualmente trabajo con la 6.1 en Mac. Pero no se que hay que modificar para que se corrija este fallo.
El problema es con el siguiente macro:
Sub EnviarDatos
'----------------------------------------------------------------------
Dim document As Object
Dim dispatcher As Object
document = ThisComponent.CurrentController.Frame
dispatcher = CreateUNOService("com.sun.star.frame.DispatchHelper")
Dim aSaltarA(0) As New com.sun.star.beans.PropertyValue
aSaltarA(0).Name = "ToPoint"
aSaltarA(0).Value = "DatosFactura"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, aSaltarA())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
aSaltarA(0).Value = "ResumenInsertarFila"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, aSaltarA())
Dim aMover(1) As New com.sun.star.beans.PropertyValue
aMover(0).Name = "By"
aMover(0).Value = 1
aMover(1).Name = "Sel"
aMover(1).Value = False
dispatcher.executeDispatch(document, ".uno:InsertRows", "", 0, Array())
Dim aPegadoEspecial(5) As New com.sun.star.beans.PropertyValue
aPegadoEspecial(0).Name = "Flags"
aPegadoEspecial(0).Value = "SVDN"
aPegadoEspecial(1).Name = "FormulaCommand"
aPegadoEspecial(1).Value = 0
aPegadoEspecial(2).Name = "SkipEmptyCells"
aPegadoEspecial(2).Value = False
aPegadoEspecial(3).Name = "Transpose"
aPegadoEspecial(3).Value = True
aPegadoEspecial(4).Name = "AsLink"
aPegadoEspecial(4).Value = False
aPegadoEspecial(5).Name = "MoveMode"
aPegadoEspecial(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, aPegadoEspecial())
aMover(0).Value = 22
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, aMover())
aMover(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, aMover())
aMover(1).Value = True
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, aMover())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
aMover(1).Value = False
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, aMover())
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, aMover())
aPegadoEspecial(0).Value = "A"
aPegadoEspecial(3).Value = False
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, aPegadoEspecial())
aSaltarA(0).Value = "ResumenInsertarFila"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, aSaltarA())
aSaltarA(0).Value = "CodCliente"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, aSaltarA())
MsgBox ("Datos enviados a la hoja Resumen", 192, "open-office.es")
End Sub