Método SetString en funciones (macros)

Discute sobre la aplicación de hojas de cálculo

Método SetString en funciones (macros)

Notapor jorgebj » Vie Abr 13, 2018 9:41 pm

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   Expandir vistaContraer vista
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
jorgebj
 
Mensajes: 5
Registrado: Mar Jun 14, 2011 11:42 pm

Re: Método SetString en funciones (macros)

Notapor mauricio » Vie Abr 13, 2018 10:52 pm

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
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5787
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Método SetString en funciones (macros)

Notapor mauricio » Vie Abr 13, 2018 11:04 pm

A esto me refiero con "valor de retorno"
Código: Seleccionar todo   Expandir vistaContraer vista
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
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5787
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: Método SetString en funciones (macros)

Notapor jorgebj » Sab Abr 14, 2018 1:02 am

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
jorgebj
 
Mensajes: 5
Registrado: Mar Jun 14, 2011 11:42 pm

Re: Método SetString en funciones (macros)

Notapor mauricio » Sab Abr 14, 2018 4:59 am

Efectivamente en OpenOffice no funciona, solo en LibreOffice.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5787
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados