Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


pierre-yves.samyn a écrit :
pierre-yves.samyn a écrit : Essaie :
thiscomponent.sheets.getByName("Feuille1").DrawPage.Forms.getByName("Standard")
.getByName("PushButton").dispose

Message du 23/03/11 14:47
De : "Samuel Mounier (Liste CGO)" En l'adaptant à mon document... (nom de feuille et nom du bouton)
thiscomponent.sheets.getByName("dossier").DrawPage.Forms.getByName("Standard")>
.getByName("Button 2").dispose Me donne le message d'erreur suivant. Type: com.sun.star.container.NoSuchElementException

Es-tu sûr de la capitalisation (dossier et non Dossier, Button 2) ?
Par ailleurs le nom du formulaire est-il correct (Standard) ?

Ce n'est donc pas le bon code

Disons... sous réserve des vérifications ci-dessus :)

O oui presque...

thiscomponent.sheets.getByName("dossier").DrawPage.Forms.getByName("Standard").getByName("Bouton 
2").dispose
Fonctionne

Il ne me manquait qu'un O à mon Button...

Pour ce que ça intéresse, j'ai fait une compilation de ce que ton bout de code m'a permis de 
comprendre.

Au fait maintenant ça marche ... (j'suis content là ...)

Merci beaucoup Pierre-Yves.

Donc pour ceux qui en auraient besoin :

' Ce code supprime les contrôles de formulaire qui porte le nom "bouton 2"
Sub SupprMesBt
        Dim objF as object
        objF = thiscomponent.sheets.getByName("dossier").DrawPage.Forms.getByIndex(0)

        ' Forms.getByName("nomduform") pourrait être utilisé si je savais que le formulaire porte 
ce nom
        ' Pour déterminer, le nom de mon formulaire, on peut aussi lister tous les formulaires par 
le code suivant :
        ' Ne me demandez pas comment en ajouter des différents je ne saurai pas faire... :-)
        ' Mais ça doit être possible puisque l'on peut les lister... et en compter le nombre
        ' For I = thiscomponent.sheets.getByName("Feuille1").DrawPage.Forms.getCount() - 1 to 0 
step -1
        '       msgbox thiscomponent.sheets.getByName("Feuille1").DrawPage.Forms.getByIndex(I).Name
        ' Next

        ' Parcours tous les objets du 1er formulaire trouvé dans le document
        For I = objF.getCount() - 1 to 0 step -1
                ' xRay objF.getByIndex(I)
                ' Msgbox objF.getByIndex(I).getName
                ' Lorsque je tombe sur un controle nommé Bouton2, je le supprime
                if objF.getByIndex(I).getName = "Bouton 2" then objF.getByIndex(I).dispose()

        Next

End Sub



Cordialement
Pierre-Yves

Et merci encore

A+

Samuel

--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.