Referencia formulario macro

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

Referencia formulario macro

Notapor Albert » Mar Ago 20, 2013 7:07 pm

Hola! Tengo un formulario hecho con un "diálogo BASIC" , que es llamado desde un botón de la hoja de cálculo. Hasta ahora tenía:

Dim oDialogo As Object
Sub Mostrar_Dialogo
DialogLibraries.LoadLibrary("Standard")
oDialogo=Createunodialog(DialogLibraries.Standard.Dialogo)
oDialogo.Execute()
End Sub

Y funcionaba. Protegí el código de la macro con un password, y me generaba error en "Dim oDialogo As Object", eliminado ésta línea ya no genera error, se muestra el formulario, pero a la hora de "guardar" (botón insertado en el formulario) no puedo hacer referencia al formulario, pq oDialogo no está definido. He probado sin éxito:
'DialogLibraries.LoadLibrary("Protected")
'oDialogo = createUnoDialog(DialogLibraries.Protected.FORM_DatosF)
'oDialogo = ThisComponent.getCurrentController.getActiveSheet.getDrawPage
'oDialogo = ThisComponent.FormDocuments.getByName( "Datos" )
'oDialogo = ThisComponent.getCurrentController

Alguna idea? Saludos
OpenOffice 3.4.1 en Windows Vista
Albert
 
Mensajes: 14
Registrado: Vie Jul 26, 2013 10:25 am

Re: Referencia formulario macro

Notapor FORNELASA » Jue Ago 22, 2013 8:14 pm

Hola, sugiero subir archivo ejemplo con la clave para poder mirarlo.
Aquí un archivo ejemplo, se supone no falla, solo cambia en la macro tu ruta de archivo correcta.
La clave es: estrella

Saludos, Federico.
Adjuntos
Proteger.ods
Proteger
(13.39 KiB) 18 veces
OpenOffice 4.0.1
LibreOffice 4.0.6.2 | Lotus Symphony 3.0.1
En Windows 7 Home Basic
Avatar de Usuario
FORNELASA
 
Mensajes: 1163
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

[RESUELTO] Re: Referencia formulario macro

Notapor Albert » Vie Ago 23, 2013 12:13 pm

Muchas gracias Federico por tu aportación!! El problema era doble:

- Puse los diálogos dentro de la librería protegida y deben estar en la standard
- La sentencia "Dim oDialogo As Object" debe estar en el primer módulo, me explico: si se tiene más de un módulo, oBasic, los ordena por nombre alfabético, y esta sentencia debe estar en la primera de ellas (empezando por la izquierda).

Otro tema que leí, es que hay gente que busca que al abrir una hoja, no esté en "modo diseño" y veo que en tu ejemplo es así, por si a alguien le interesa.

Saludos y muchas gracias!
OpenOffice 3.4.1 en Windows Vista
Albert
 
Mensajes: 14
Registrado: Vie Jul 26, 2013 10:25 am


Volver a Calc

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 5 invitados