[EMAIL PROTECTED] a écrit :

Bonjour à tous,

Je suis à la recherche d'une macro pour fermer un formulaire dans Base.
J'ai réussit avec l'enregistreur de macro à recréer les événements standards (enregistrement suivant, précédent etc...) mais impossible d'en créer une pour fermer le formulaire. Je travaille sur un formulaire en plein écran et de ce fait je n'ai plus les petits symboles en haut à droites (notament pour fermer le document)

Merci d'vance pour votre aide et bonne journée à tous


J'ai une collection de formulaires. Un formulaire est le formulaire
pivôt qui
gère ouverture et fermeture de l'ensemble de la collection.

Ce formulaire s'appelle "Contacts", et contient la macro "Fermeture"
dans sa bibli "Lanceur":

>>   '--Fermeture------------------------

>>   Sub Fermeture( sForm As String)
   Dim oDoc As Object, oFormClo As Object, oDocForms As Object, Mess As
String

   oDoc = StarDeskTop.getCurrentComponent

   oDocForms = oDoc.getFormDocuments()
   oFormClo = oDocForms.getByName(sForm)

   oFormClo.dispose

   End Sub

Cette macro est appelée par chaque formulaire, y compris lui-même grâce
à la macro
suivante associée à un bouton de commande :

   '--Appel_Fermeture-----------------------

   Sub Appel_Fermeture(oEvent As Object)
   Dim oDispatch As Object, sForm As string
   sForm = "Appels"
   oDispatch = createUnoService( "com.sun.star.frame.DispatchHelper" )
   oDispatch.executeDispatch( StarDesktop,
"macro://Contacts/Standard.Lanceur.Fermeture(" & sForm & ")", "", 0,
Array() )
   End Sub

Le recours au dispatcher est du au fait que je voulais n'avoir la macro
"Fermeture" qu'en un seul exemplaire dans un formulaire
central.

Espérant que cela aide
J-M Delmas

Merci de ton aide mais j'ai quelques soucis à mettre tout cela en place pourtant j'ai récrée un formulaire avec le même nom, une blibli également et recopié l'ensemble de ton code mais rien ne marche. Même pas de message d'erreur.

Je pense que je doit mal paramétrer la seconde macro :
sForm = "Appels"   <=== dois-je laisser le même nom ?

Pour cette ligne, j'ai tout mis pareil mais mais il dois y avoir un soucis quelque part ?? oDispatch.executeDispatch( StarDesktop, "macro://Contacts/Standard.Lanceur.Fermeture(" & sForm & ")", "", 0, Array() )

Merci encore de ton aide
Arnaud POUSSIER




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à