[RESUELTO] Problema con SetRanges

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Jesús
Mensajes: 3
Registrado: Vie Dic 06, 2013 6:00 pm

[RESUELTO] Problema con SetRanges

Mensaje por Jesús »

Amigos:

Al ejecutar la siguiente macro copiada de la página 358 del libro "Aprendiendo OOo Basic" de Mauricio Baeza Servín:

Código: Seleccionar todo

Sub Graficando11()
Dim oGrafico As Object
Dim oHojaActiva As Object
Dim mRangos(0)
Dim oDir As New com.sun.star.table.CellRangeAddress
oHojaActiva = ThisComponent.getCurrentController.getActiveSheet()
'Accedemos al gráfico
oGrafico = getGrafico2()
If Not IsNull( oGrafico ) Then
'El nuevo rango de datos
With oDir
.Sheet = oHojaActiva.getRangeAddress.Sheet
.StartColumn = 0
.EndColumn = 1
.StartRow = 0
.EndRow = 10
End With
mRangos(0) = oDir
'Establecemos el nuevo rango
oGrafico.setRanges( mRangos )
Else
Me sale el siguiente mensaje de error: "Propiedad o método no encontrado: SetRanges"

¿Alguien sería tan amable de indicarme por qué no reconoce a SetRanges?
Última edición por mauricio el Sab Dic 07, 2013 4:23 pm, editado 3 veces en total.
Razón: Marcar icono de resuelto
Apache Openoffice 4.0.1
Ubuntu 11.04
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problema con SetRanges

Mensaje por mauricio »

Las macros de este libro (generalmente) no funcionan de forma independiente, generalmente van ligadas con el contexto, ¿la estas intentado ejectutar de forma aislada?, si es así, es necesario leas atentamente el contexto, generalmente, la parte inmediata anterior al donde esta la macro...

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Jesús
Mensajes: 3
Registrado: Vie Dic 06, 2013 6:00 pm

Re: Problema con SetRanges

Mensaje por Jesús »

En primer lugar, Mauricio, quiero darte las gracias por tu libro y por tu respuesta. La verdad es que, después de haber pasado innumerables horas con tu libro, es un placer poder contar con una respuesta tuya.
En segundo lugar, lo he intentado de todas las formas que se me han ocurrido y nada.
Mi intención es hacer una macro con la que poder modificar el rango de datos de un gráfico (Grafico01) previamente creado. El código que utilizo es este:

Código: Seleccionar todo

Sub MODIFICAR_GRAFICO()
'********************************************** DEFINICIÓN DE VARIABLES.
	Dim oLIBRO As Object
	Dim oHojaDatos As Object
	Dim oHojaGraficos As Object
	Dim oGraficos As Object
	Dim oGrafico as object
	Dim oDir As New com.sun.star.table.CellRangeAddress
	Dim mRangos(0)
'********************************************** DEFINICIÓN DE LIBRO Y HOJAS.
	oLIBRO=ThisComponent
	oHojaDatos=oLIBRO.getSheets.getByName("CARGAR_HISTORICO")
	oHojaGraficos=oLIBRO.getSheets.getByName("GRAFICOS")
'********************************************** CARGANDO GRÁFICO.
	oGraficos=oHojaGraficos.getCharts()
	oGrafico = oGraficos.getBYName("Grafico01").getEmbeddedObject()
'********************************************** MODIFICANDO ORIGEN DE DATOS.	
	With oDir
		.Sheet = oHojaDatos.getRangeAddress.Sheet
		.StartColumn = 1
		.EndColumn = 4
		.StartRow = 10
		.EndRow = 30
	End With
	
	mRangos(0) = oDir

	oGrafico.setRanges(mRangos)
	
End sub
Pero no hay manera. Aunque parece algo sencillo, me da error el setRanges. Te agradecería que me indicaras cuál es el error o de qué otra forma podría conseguir lo que quiero. Muchísimas gracias por tu atención.
Apache Openoffice 4.0.1
Ubuntu 11.04
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Problema con SetRanges

Mensaje por mauricio »

Hola...

Un cambio más en AOO4, cambia:

Código: Seleccionar todo

oGrafico = oGraficos.getBYName("Grafico01").getEmbeddedObject()
por...

Código: Seleccionar todo

oGrafico = oGraficos.getBYName("Grafico01")
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Jesús
Mensajes: 3
Registrado: Vie Dic 06, 2013 6:00 pm

Re: Problema con SetRanges

Mensaje por Jesús »

Muchísimas gracias Mauricio. :bravo:
Apache Openoffice 4.0.1
Ubuntu 11.04
Responder