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]

Responder a