[Resuelto] macro seleccionar varias hojas e imprimirCALC
Publicado: Jue Jul 30, 2009 5:03 pm
Hola, es mi primer mensaje y me he decidido a realizarlo porque no he logrado solucionar un problema (llevo más de una semana con esto) que talvez sea algo simple, pero no encuentro como realizarlo. El problema es el siguiente:
Necesito realizar una macro en CALC, que mande a imprimir 3 hojas especifícas de un libro que contiene 4. He revisado el foro y bastante documentación de OO pero no logro hacer que funcione. Si uso la opción "Grabar Macro" obtengo el siguiente código:
*******************************************************************************************************
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 args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Nr"
args2(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Copies"
args3(0).Value = 1
args3(1).Name = "Collate"
args3(1).Value = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args3())
*******************************************************************************************************
El cual funciona correctamente cuando estoy grabando la macro, pero al volver a ejecutarlo únicamente imprime la primer hoja. No entiendo porque sucede esto. No he encontrado como modificarlo, tampoco ejemplos que me ayuden a solucionarlo .
¿Alguien tiene alguna idea de como solucionar esto?
Necesito realizar una macro en CALC, que mande a imprimir 3 hojas especifícas de un libro que contiene 4. He revisado el foro y bastante documentación de OO pero no logro hacer que funcione. Si uso la opción "Grabar Macro" obtengo el siguiente código:
*******************************************************************************************************
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 args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Nr"
args2(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "Copies"
args3(0).Value = 1
args3(1).Name = "Collate"
args3(1).Value = true
dispatcher.executeDispatch(document, ".uno:Print", "", 0, args3())
*******************************************************************************************************
El cual funciona correctamente cuando estoy grabando la macro, pero al volver a ejecutarlo únicamente imprime la primer hoja. No entiendo porque sucede esto. No he encontrado como modificarlo, tampoco ejemplos que me ayuden a solucionarlo .
¿Alguien tiene alguna idea de como solucionar esto?