Página 1 de 1

[RESUELTO] evaluar funcion dentro de macro

Publicado: Dom Oct 28, 2018 1:41 am
por arivas_2005
Saludos.
necesito pasar las coordenadas de celda de la forma (C,F) a la A1.
No logro dominar el uso de la sentencia CallFunction para evaluar una address
en la muestra siguiente

Código: Seleccionar todo

vfila=ThisComponent.CurrentSelection.CellAddress.row
vcolumna=ThisComponent.CurrentSelection.CellAddress.column
nomHoja = ThisComponent.CurrentController.ActiveSheet.Name
''  celdaref=ADDRESS(vfila;vcolumna; 4;; "nomHoja")
oRange= vfila & ";" & vcolumna & "; 4;; &nomHoja  ' << --  mi problema...
Dim oFunctionAccess 
oFunctionAccess = createUnoService( "com.sun.star.sheet.FunctionAccess" )
fnAverage = oFunctionAccess.CallFunction( "ADDRESS", oRange) ' 
msgbox fnAverage
gracias

Re: evaluar funcion dentro de macro

Publicado: Dom Oct 28, 2018 3:30 pm
por xiseme
Respecto al uso de las funciones de Calc desde Basic en el libro de Mauricio en su página 540 dice :

Código: Seleccionar todo

'Función para llamar a función incorporada de Calc, es importante
'pasarle los argumentos correctamente en una matriz de datos y
'usar la función deseada con su nombre en ingles
Function FuncionCalc( Nombre As String, Datos() ) 
Dim oSFA As Object

	oSFA = createUnoService( "com.sun.star.sheet.FunctionAccess" )
	FuncionCalc = oSFA.callFunction( Nombre, Datos() )

End Function
A riesgo de que haya cambiado algo en LibO... subrayo lo de «pasarle los argumentos correctamente en una matriz de datos y usar la función deseada con su nombre en ingles»

Re: [RESUELTO] evaluar funcion dentro de macro

Publicado: Dom Oct 28, 2018 4:37 pm
por arivas_2005
@xiseme. Saludos y gracias!
Efectivamente, en el libro del gran maestro Mauricio, esta la solución a mi problema, en la página 190.
tantas veces se me pasó por alto... y esta en Sub InfoRangos2().
Mis agradecimientos.