Método SetString en funciones (macros)

Discute sobre la aplicación de hojas de cálculo
Responder
jorgebj
Mensajes: 5
Registrado: Mar Jun 14, 2011 11:42 pm

Método SetString en funciones (macros)

Mensaje por jorgebj »

Hola:

Soy nuevo completamente en macros y lenguaje starbasic.

Una duda, ¿el método setString no funciona en funciones?
Tengo dos códigos (resumido), en el procedimiento funciona correctamente pero en la función no hace lo esperado:

Código: Seleccionar todo

Sub Macro1
Dim oHojaActiva As Object
Dim oCell As Object 
oHojaActiva = ThisComponent.getCurrentController.getActiveSheet()
oCell = oHojaActiva.getCellByPosition( 1,14)	
oCell.setString("Test")
End Sub

function Funcion1(Parametro as string)
Dim oHojaActiva As Object
Dim oCell As Object
oHojaActiva = ThisComponent.getCurrentController.getActiveSheet()
oCell = oHojaActiva.getCellByPosition( 1,14)	
oCell.setString("Test")
End function
En esta función, el setString no escribe en la celda (1,14) el texto ¿por que?

Gracias a cualquier comentario.
Última edición por mauricio el Vie Abr 13, 2018 10:53 pm, editado 1 vez en total.
Razón: Usar etiquetas CODE
OpenOffice 3.2.0 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Método SetString en funciones (macros)

Mensaje por mauricio »

A mi me funciona correctamente en las versiones mostradas en mi firma, aunque debes de agregar el valor de retorno de la función.

Ahora, recuerda que una función es para retornar un valor en la misma celda, no es una buena practica modificar el valor de otras celdas dentro de una función.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Método SetString en funciones (macros)

Mensaje por mauricio »

A esto me refiero con "valor de retorno"

Código: Seleccionar todo

Function test1()
	test1 = "Hola Mundo"
End Function

Function test2(nombre As String)
	test2 = "Hola " & nombre
End Function
Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
jorgebj
Mensajes: 5
Registrado: Mar Jun 14, 2011 11:42 pm

Re: Método SetString en funciones (macros)

Mensaje por jorgebj »

Hola Mauricio:

Gracias por tu ayuda.

Invocando desde una celda no me funciona, aun cuando agregue la línea Funcion1 = resultado :
=Funcion1(A1)

Tengo windows 10 y openoffice 4.1.3
(no se porque el foro no me permite cambiar algunos datos).

¿Las funciones pueden modificar celdas?
OpenOffice 3.2.0 en Windows 7
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Método SetString en funciones (macros)

Mensaje por mauricio »

Efectivamente en OpenOffice no funciona, solo en LibreOffice.

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