Etendre la classe Workbook, (probleme de notion avec les objets)

Signaler
Messages postés
36
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2008
-
Messages postés
36
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2008
-
Bonjour à tous,

Je voudrais savoir comment créer une classe qui regroupe toutes les propriétés et méthodes qui existent déjà pour la classe Microsoft.Office.Interop.Excel.Workbook, lui en ajouter quelques unes et en corriger quelques autres (je crois qu'on dit étendre une classe, mais je n'en suis pas sûr)

J'aurai donc la possibilité de créer la méthode "FaireQuelqueChose" dans cette classe, et d'accéder à cette méthode via une instanciation du genre:
dim oExcelWB as new MaClasse

oExcelWB.FaireQuelqueChose ou oExcelWB.(toutes les autres propriétés et méthodes déjà existantes)

Merci beaucoup,

Greg

PD: j'ai quelques bons codes pour fermer le process Excel, je sais que bcp d entre nous ont des problèmes et que les Marshall ou autres ne fonctionnent pas, cela me permettrait d'ajouter cette méthode "Close" personnelle pour fermer proprement le procesus Excel, sans tuer les procesus Excel de l'utilisateur.

4 réponses

Messages postés
266
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
30 avril 2009
1
Il est en effet possible d'étendre les possibilités d'une classe.


Je ne sais pas exactement comment il faut faire, mais je sais que le mot clé est "inherits" et la déclaration comme cela:


Public Class classe_etendue

    Inherits classe_usuelle

définition des paramètres supplémentaires

etc..

Public Sub fonctionnalite_plus


Snd  Sub


End Class


slts!

_____________________________________________________

Toujours + de VB et d'API => APi @ la Loupe

http://apialaloupe.free.fr
Messages postés
36
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2008

Salut zavier666 et merci pour ta réponse,

Malheureusement, il n est pas possible d'utiliser inherits avec Microsoft.Office.Interop.Excel.Workbook. Cette classe est-elle héritable ?

Merci
Messages postés
266
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
30 avril 2009
1
Je viens de trouver comment:


Public Class string_simple

    Public valeur_simple As String

End Class


Public Class string_plus

    Inherits string_simple

    Public valeur_plus As String

End Class


Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim x As New string_plus

        x.valeur_simple = "ok"

        x.valeur_plus = "parfait"

    End Sub

End Class


en revanche, il faut que ta classe ne soit pas NotInheritable sinon, tu dois tout reconstruire toi même :(


slts!

_____________________________________________________

Toujours + de VB et d'API => APi @ la Loupe

http://apialaloupe.free.fr
Messages postés
36
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
18 juillet 2008

J'ai l'impression qu'elle est NotInheritable :-(

Je ne sais pas, je n'arrive pas à faire quelque chose du genre:

Public Class MaClasse
    inherits Microsoft.Office.Interop.Excel.Workbook
    ...
End Class

Peut être qu'il faut avoir le composant Visual Studio Tools for Microsoft Office.

Un conseil ? Une idée ?

Merci !