[RESUELTO]Acceder a componente de dialogo con doble click

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO]Acceder a componente de dialogo con doble click

Notapor fedevi » Mié Nov 25, 2015 12:16 am

Hola al foro, les cuento mi inquietud. Quiero que al realizar un doble click sobre una celda de calc, se muestre un cuadro de diálogo y me permita cambiar el contenido de la celda, ya que la hoja estará protegida.
A esto lo logré mediante el evento de hoja doble click, al cual le enganché la sig macro
Código: Seleccionar todo   Expandir vistaContraer vista
Sub ModificaDescripcion()
Dim oDialogo As Object
'Dim oControlComponentes As Object
Dim Res As Integer
Dim oCelda As Object
Dim oPosCelda As Object
Dim oHojaActual As Object
Dim sTmp As String

   DialogLibraries.LoadLibrary( "Standard" )
   oDialogo = CreateUnoDialog( DialogLibraries.Standard.getByName("DlgModificaDescripcion") )
   
   oCelda = thisComponent.getCurrentSelection()
   oPosCelda = oCelda.getRangeaddress()

   'esto que sigue es para probar ubicar posicion de la celda donde se clickea
   sTmp = "El rango esta en la hoja: " & oPosCelda.Sheet & Chr(13) & _
         "Columna de inicio: " & oPosCelda.StartColumn & Chr(13) & _
         "Fila de inicio: " & oPosCelda.StartRow & Chr(13) & _
         "Columna final: " & oPosCelda.EndColumn & Chr(13) & _
         "Fila final: " & oPosCelda.EndRow

   MsgBox sTmp
   
   oControlComponentes = oDialogo.getModel("LDescripcion")
   oControlComponentes.Title = oCelda.getString
   'El método execute devuelve un valor
   Res = oDialogo.execute()
   if Res = 1 then
   
   else
   
   End if   

   oDialogo.dispose()   
   
End Sub

hasta aqui, se muestra el dialogo cuando se realiza el doble click, pero cuando al label cuyo nombre es LDescripcion, no muestra lo que se le asigna, y en el observador del IDE cuando quiero ver el valor de oControlComponentes.Title me muestra out of scope, me pueden orientar como hago para acceder a estas propiedades?
A esta macro la grabo en el documento, lo mismo que al cuadro de diálogo, bueno estamos en contacto, saludos

Fede
Última edición por fedevi el Mié Nov 25, 2015 8:07 pm, editado 1 vez en total
OpenOffice 4.1.2 - Windows 7
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Acceder a componente de dialogo con doble click en calc

Notapor fornelasa » Mié Nov 25, 2015 12:44 am

Antes que nada ¿Que debe entenderse por?
fedevi escribió:no muestra lo que se le asigna,

Si hubiese entendido bien debería ser:
Código: Seleccionar todo   Expandir vistaContraer vista
oControlComponentes = oDialogo.getControl("LDescripcion")
oControlComponentes.Text = oCelda.String

En vez de:
Código: Seleccionar todo   Expandir vistaContraer vista
oControlComponentes = oDialogo.getModel("LDescripcion")
oControlComponentes.Title = oCelda.getString

Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3242
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Acceder a componente de dialogo con doble click en calc

Notapor fedevi » Mié Nov 25, 2015 12:25 pm

Hola fornelasa, gracias por la respuesta, probé con la propiedad text pero me da error de propiedad no encontrada, lo que quiero hacer es mostrar en un componente label del diálogo el contenido de la celda donde se realizó el doble click. Supongamos que en la celda dice "botella de jugo 250cc", entonces quiero mostrar esa información en un label o un cuadro de texto.
Puede ser que esté en el ámbito de la variable? he definido a oDialogo como global pero sigue igual, saludos

Fede
OpenOffice 4.1.2 - Windows 7
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm

Re: Acceder a componente de dialogo con doble click en calc

Notapor fornelasa » Mié Nov 25, 2015 5:23 pm

Si exacto, eso es lo que hace si cambiamos en tu macro la que envias aqui las dos lineas de codigo tal cual se indicó arriba, he vuelto a hacer las pruebas y funciona de acuerdo a lo solicitado.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Avatar de Usuario
fornelasa
 
Mensajes: 3242
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: [RESUELTO]Acceder a componente de dialogo con doble clic

Notapor fedevi » Mié Nov 25, 2015 8:09 pm

funcionó perfecto, gracias lo doy como resuelto
OpenOffice 4.1.2 - Windows 7
fedevi
 
Mensajes: 33
Registrado: Lun Oct 26, 2015 9:01 pm


Volver a Macros y API UNO

¿Quién está conectado?

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