Argel Gastélum Arellánez escribió:
Hola a todos.
Estoy tratando de adaptar una macro que me encontré en el foro de
OpenOffice.org, que recomendaban para asignarla a un botón para que
abra un formulario determinado. Esto con el fin de diseñar un
formulario con una serie de botones que abran los distintos
formularios e informes. El código es el siguiente:
-------------------------------------------------------------
Sub OpenForm(Event As Object)
Dim Form As Object
Dim FormDoc As Object
Dim Forms As Object
Dim DBDoc As Object
Dim Args(1) As New com.sun.star.beans.PropertyValue
Dim FormName As String
Form=Event.Source.Model.Parent
Forms=Form.Parent
FormDoc=Forms.Parent
DBDoc=FormDoc.Parent
Args(0).Name="ActiveConneciton" :
Args(0).Value=Form.ActiveConnection
Args(1).Name="OpenMode" : Args(1).Value="open"
FormName="F03 - Lista de Muestras"
DBDoc.FormDocuments.loadComponentFromURL(FormName,"_blank",0,Args)
End Sub
-------------------------------------------------------------
El problema es que al ejecutar la macro en el editor de basic me da
el siguiente error: "Error de Ejecución de Basic. El argumento no es
opcional", y me señala la línea "Form=Event.Source.Model.Parent".
Al tratar de ejecutarla desde el menú "Herramientas/Macros/Ejecutar
macro" sale el siguiente error: "Se ha producido un error de marco de
programación al ejecutar el comando Standard.Module1.OpenForm escrito
en basic. Mensaje: wrong number of parameters!
Aún así, probé a asignarla a un botón en un formulario (en
propiedades del botón, pestaña "Acontecimientos", en la casilla "Botón
del ratón pulsado"), sólo para ver qué pasaba. Sucedió que sí abre el
formulario en cuestión, pero inutilizable, pues al parecer lo abre
desconectado de la tabla en la que se ingresarán los registros. Cuando
ejecuto el formulario de la forma normal funciona bien. No sé casi
nada de basic, sólo seguí las instrucciones que indicaban en ese post
del foro.
Agradezco de antemano la ayuda.
Saludos.
--
Argel.
Hola de nuevo, acabo de darme cuenta de un error de dedo en la línea:
Args(0).Name="ActiveConneciton" : Args(0).Value=Form.ActiveConnection
Supongo que debe ser así:
Args(0).Name="ActiveConnection" : Args(0).Value=Form.ActiveConnection
Una vez corregido lo asigno al botón como lo comenté anteriormente y
ya ejecuta bien el formulario, puedo navegar por los registros, ingresar
nuevos datos, etc.
Sin embargo, al tratar de ejecutar la macro desde el menú
herramientas y desde el editor de basic en base, sigue arrojando los
mensajes de error que describí antes. ¿Cuál será el problema?
De nuevo gracias por su ayuda.
--
Argel.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]