[RESUELTO]Graficos CALC. Series de datos en filas

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
juamovi
Mensajes: 11
Registrado: Mié Oct 20, 2010 10:53 pm

[RESUELTO]Graficos CALC. Series de datos en filas

Mensaje por juamovi »

Buenos días a tod@s,

Estoy trabajando con Visual Basic .NET para crear un grafico a partir de unos datos escritos a Calc.

He conseguido realizar el gráfico sin problemas siguiendo el Manual de Mauricio. La única pega que he encontrado es que no sé como cambiar el origen de los datos.
Por defecto, el gráfico coge el rango de datos como "series de datos en columnas". Quería establecer este rango como "series de datos en filas". Saben cual es la propiedad que hay que modificar para que esto sea así?

Muchas gracias de antemano.
Última edición por juamovi el Mar Nov 09, 2010 11:41 pm, editado 1 vez en total.
OpenOffice 3.2 - Windows XP - Visual Basic .NET
FJCC-ES
Mensajes: 915
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Graficos CALC. Series de datos en filas

Mensaje por FJCC-ES »

Código: Seleccionar todo

Dim RangeAddress(0) As New com.sun.star.table.CellRangeAddress
Dim Rect As New com.sun.star.awt.Rectangle

Doc = ThisComponent
Rect.X = 100 
Rect.Y = 200 
Rect.Width = 18000
Rect.Height = 9000
RangeAddress(0).Sheet = 0
RangeAddress(0).StartColumn = 2
RangeAddress(0).StartRow = 1
RangeAddress(0).EndColumn = 8
RangeAddress(0).EndRow = 2
Charts = Doc.Sheets(0).Charts
If NOT Charts.hasByName("ChartName") Then
	Charts.addNewByName("ChartName", Rect, RangeAddress(), False, False)
End If
Chart = Charts.getByName("ChartName").EmbeddedObject
Chart.Diagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.ROWS
Chart.Diagram = Chart.createInstance("com.sun.star.chart.LineDiagram")
Chart.HasMainTitle = True
Chart.Title.String = "ChartTitle"   
Chart.HasLegend = True
juamovi
Mensajes: 11
Registrado: Mié Oct 20, 2010 10:53 pm

Re: Graficos CALC. Series de datos en filas

Mensaje por juamovi »

Hola,

Gracias por el código que has puesto.
Lo he estado probando pero no hay manera de conseguirlo.

Estoy programandolo desde VB.NET y el problema que me da es en

Código: Seleccionar todo

Chart.Diagram.DataRowSource = com.sun.star.chart.ChartDataRowSource.ROWS
Me dice que el nombre COM no esta definido.
Supongo que deberé usar también algo como coreReflection, pero no se muy bien como asignar a una propiedad una constante de OpenOffice.

Si alguien me pudiera echar un cable se lo agradecería.
Un saludo
OpenOffice 3.2 - Windows XP - Visual Basic .NET
Cascabel
Mensajes: 283
Registrado: Mié Nov 11, 2009 10:53 am

Re: Graficos CALC. Series de datos en filas

Mensaje por Cascabel »

Aunque en la documentación no indican los valores exactos, podemos obtenerlos mediante una macro Basic.
A mí me salen:
com.sun.star.chart.ChartDataRowSource.ROWS = 0
com.sun.star.chart.ChartDataRowSource.COLUMNS = 1
Así que debería servirte el poner un cero ahí.
OOo 3.3.0: OOO330m20 (Build:9567) en WXP+SP3 y en Ubuntu 10.10
juamovi
Mensajes: 11
Registrado: Mié Oct 20, 2010 10:53 pm

Re: Graficos CALC. Series de datos en filas

Mensaje por juamovi »

Tienes mucha razón Cascabel. Me he vuelto loco buscando los valores en lugar de hacer una macro o probando directamente con el 0 y el 1 que era los valores más probables.

Gracias
OpenOffice 3.2 - Windows XP - Visual Basic .NET
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Graficos CALC. Series de datos en filas

Mensaje por mauricio »

Hola...

Todas las enumeraciones empiezan en cero, así que siempre que vean algo así: http://api.openoffice.org/docs/common/r ... .html#ROWS
o así: http://api.openoffice.org/docs/common/r ... nType.html

Solo empiecen a contar de cero y tendrán los mismos valores...

Por favor, si esto responde tu pregunta, edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder