Bonjour,
 
Malheureusement non, ça ne marche pas.
Ceci dit, je vais reprendre tout mon code depuis le début et gérer ça avec une base de donnée. Le coup du copier / coller puis modifier, n'est pas vraiment élégant, ni très efficace.
Mais bon, si quelqu'un à la solution, je suis quand même preneur, par simple curiosité.
 
Merci à tous,
 
Martin
----- Original Message -----
Sent: Friday, February 11, 2005 11:47 AM
Subject: Re: [prog] accéder à un bouton depuis le code

Bonjour,

Et si au lieu de fermer/ouvrir ton doc tu te contente de passer en mode conception de formulaire puis revenir en mode utilisation, est-ce que ça marche ?
Si oui, tu peux ajouter cette action à ton code macro, je crois qu'il existe aussi une méthode genre "refresh" dans l'objet formulaire.

--
Alain Nowak - starxpert
www.starxpert.fr


Martin blaizot a écrit :
Bonjour à tous les deux, et encore merci de vous être penché sur mon cas.

J'apporte une petite précision suite à un test simple que je viens de faire
(avec le snippet ):

Je récapitule :
je crée un document "devis" au moyen d'un modèle de document plein de
macros;
via une autre macro, j'enregistre ce document sous le nom "Facture", j'ouvre
ce document facture et je fais les modifications appropriées.
Le bouton "Modifier", présent dans mon document "Devis", se retrouve donc
dans mon document "Facture", et je cherche à lui assigner une macro
"Modif_facture".
Le code "snippet" fonctionne très bien, à savoir qu'il change bien
l'assignation de mon bouton "Modifier" (et seulement de celui-là) dans mon
document facture (et seulement dans ce document).
Par contre le bouton est inopérant.
Mais, si je ferme mon document facture et que je l'ouvre à nouveau, le
bouton fonctionne correctement !

J'aimerais évidemment ne pas avoir à "Fermer/ouvrir" pour avoir accès à mon
bouton !

D'avance merci,

Martin

P.S. je viens de recevoir votre bouquin; je vais pouvoir occuper mes longues
soirées d'hivers ! :-)



----- Original Message ----- 
From: "Bernard Marcelly" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Thursday, February 10, 2005 11:39 AM
Subject: Re: [prog] accéder à un bouton depuis le code


  
Bonjour,
Le snippet signalé par Laurent affecte un même traitement à tous les
boutons du formulaire.
J'ai réussi à affecter un traitement à un bouton donné, en m'inspirant
des pages 572-574 et604-605 du bouquin Programmation OpenOffice.org
Au lieu du code du snippet, écrire ceci :


  oDocument = StarDesktop.getCurrentComponent
    oView = oDocument.CurrentController
    oDrawPage = oView.getActiveSheet.DrawPage

    ' get the first form
    oForm = oDrawPage.getForms.getByIndex(0)

Dim modeleBouton As Object, monBouton As Object
Dim ecouteur As Object

modeleBouton = oForm.getByName("Bouton1")
monBouton = oView.GetControl(modeleBouton)
ecouteur = CreateUnoListener("monBouton1_",
"com.sun.star.awt.XActionListener")
monBouton.addActionListener(ecouteur)


' ------------- gestionnaires d'évènements ---


Sub monBouton1_actionPerformed(evt As Object)
MsgBox("C'est moi, le bouton !")
End Sub

Sub monBouton1_disposing(evt As Object)
End Sub

*******

A noter :
La routine monBouton1_disposing est nécessaire même si on ne l'utilise
    
pas.
  
L’afficheur de propriétés du contrôle Bouton ne « voit » pas le
traitement de l’évènement.
Le traitement est désactivé à la fermeture du document. La sauvegarde du
document ne permet pas de mémoriser l'affectation de traitement à
l'évènement. Peut-être qu'on peut améliorer.

    Bernard


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


    


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


  

Répondre à