Hola!
Uso writer Versión: 6.0.7.3.
Mi intención es insertar gráficos pastel/torta a partir de la tabla que contiene los datos mediante un macro.
ejemplo tabla.odt
Pude insertar el gráfico sobre la tabla con una serie de indicaciones por teclado. La secuencia grabada la pego abajo pero cada vez que ejecuté esa macro tuve que seleccionar el tipo de gráfico. No encuentro cómo definir que el tipo de gráfico sea pie, supongo que es un parámetro en la linea:
dispatcher.executeDispatch(document, “.uno:InsertObjectChart”, “”, 0, Array())
¿tienen documentación sobre esta linea? ¿o cómo indicar que sea pie?
sub grafico_desde_fin_pregunta
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 ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertPara", "", 0, Array())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Count"
args2(0).Value = 1
args2(1).Name = "Select"
args2(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args2())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:EndOfDocumentSel", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:InsertObjectChart", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:TerminateInplaceActivation", "", 0, Array())
end sub
Además intenté adaptar las siguiente lineas de código de Mauricio para zaz/python/easymacro pero no lo logre:
name = 'MyChart'
with writer.create_chart('Pie') as c:
c.name = name
c.table = table
c.data = 'A1:B5'
c.width = 11000
c.height = 7000
c.legend.CharColor = app.get_color('black')
En el caso de easymacro o python ¿cómo defino que recupere los datos del rango que selecciono?
Relacionado con: Macro para pasar tablas de calc a writer con encabezado y descripción. Y generar gráfico pastel
Estoy estudiando python por lo que quisiera conocer los módulos que hay.
Saludos!!