|
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]
|