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

gregory__forel Messages postés 36 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2008 - 13 juin 2007 à 17:09
gregory__forel Messages postés 36 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2008 - 13 juin 2007 à 19:15
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

zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
13 juin 2007 à 18:03
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
0
gregory__forel Messages postés 36 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2008
13 juin 2007 à 18:09
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
0
zavier666 Messages postés 266 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 30 avril 2009 1
13 juin 2007 à 18:13
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
0
gregory__forel Messages postés 36 Date d'inscription lundi 18 juillet 2005 Statut Membre Dernière intervention 18 juillet 2008
13 juin 2007 à 19:15
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 !
0
Rejoignez-nous