IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

création d'un contrôle vb.net pour Office!


Sujet :

VB.NET

  1. #1
    Invité
    Invité(e)
    Par défaut création d'un contrôle vb.net pour Office!
    Bonsoir,
    Juste pour tester,j'ai créé un contrôle sur vb.net community, pour l'utiliserdans Office!!

    J'ai ajouté les références Visual basic, vbe intérop et offices intérop.

    J'ai registré la dll avec succès! Mon problème est que je vois bien ma librairie dans Excel mais pas le contrôle!

    J'ai de toutes évidence raté quelque chose mais quoi?

    J'en appel à vos connaissance pour m'aider à trouver l'endroit que j'ai passé!

    En vous remerciant.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 905
    Points : 10 177
    Points
    10 177
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    je ne sais pas trop. Mais, ma petite part quand même:

    Un article un peu vieux mais bon...

    UN exemple microsoftien, d'un coup...

    P.S. Dans Visual Studio Community tu a deux cases à cocher dans les onglets de ton MyProject:

    Inscrire pour Com : enregistrement de l'ActiveX dans le registre
    rendre visible pour COM : création des wrappers

    P.P.S L'Exemple de Microsoft procède automatiquement à des inscriptions dans le registre. Si, tu veux juste le regarder, tu peux lancer Visual Studio comme utilisateur normal. Si tu veux le faire fonctionner, lance Visual Studio en tant qu'administrateur.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour à tous et bonjour Clément,

    suite à ton message Clément j'ai trouvé ça: https://msdn.microsoft.com/fr-fr/lib...code-snippet-2

    car, mais je m'en doutais, j'avais de message d'erreurs, mais la piste est bonne

    j'ais un contrôle personnalisé:

    Nom : Sans titre.png
Affichages : 343
Taille : 74,1 Ko
    que je veux utiliser dans Office, je n'y arrive pas!

    exemple dans un formulaire VB.NET:

    Nom : Chrono.gif
Affichages : 364
Taille : 618,8 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Imports System.Runtime.InteropServices<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Enum Or AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Interface Or AttributeTargets.Delegate,
        Inherited:=True)>
    <ComVisibleAttribute(True)>
    Public NotInheritable Class Chron
        Public Event Orange()
        Public Event Rouge()
        Public Event Vert()
        Private D As Date, _Mode As Integer = 1
        <ComVisible(True)>
        Public WriteOnly Property Mode As Integer
     
     
            Set(ByVal Value As Integer)
                _Mode = Value
                For c As Integer = 1 To 3
                    Controls("PictureBox" + c.ToString).Visible = False
                Next
                Try
                Catch ex As Exception
                    _Mode = 1
                End Try
                GestionChrono()
            End Set
        End Property
        <ComVisible(True)>
        Public ReadOnly Property Temps As String
            Get
                Temps = Label1.Text
            End Get
     
     
        End Property
        Private Sub Chron_Load(sender As Object, e As System.EventArgs) Handles MyBase.Load
            Timer1.Stop()
            Timer1.Interval = 5
        End Sub
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Controls("PictureBox" + _Mode.ToString).Visible = False
            Select Case _Mode
                Case 1 : _Mode = 2
                Case 2 : _Mode = 3
                Case 3 : _Mode = 1
                Case Else : _Mode = 1
            End Select
            GestionChrono()
        End Sub
        Private Sub GestionChrono()
            Controls("PictureBox" + _Mode.ToString).Visible = True
            Select Case _Mode
                Case 1 : Timer1.Stop() : RaiseEvent Rouge()
                Case 2 : Label1.Text = "00:00:00,000" : RaiseEvent Orange()
                Case 3 : D = Date.Now : Timer1.Start() : RaiseEvent Vert()
                    'Case 3 : D = DateTime.Parse("1/2/2018 00:00:00") : Timer1.Start()
            End Select
        End Sub
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Label1.Text = (Date.Now - D).ToString()
        End Sub
     
     
        Private Sub Chron_Resize(sender As Object, e As EventArgs) Handles Me.Resize
            Width = 373 : Height = 250
        End Sub
    End Class
    Nom : Sans titre.png
Affichages : 346
Taille : 10,9 Ko


    Nom : Sans titre.png
Affichages : 319
Taille : 5,1 Ko

    Nom : Sans titre.png
Affichages : 344
Taille : 8,3 Ko

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 905
    Points : 10 177
    Points
    10 177
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    J'ai trouvé cela aussi:


    https://msdn.microsoft.com/fr-fr/library/f1tkezh9.aspx

    En passant, as-tu un fichier .tlb (il me semble) du même nom que ton contrôle ? Il me semble avoir lu à quelque part que la référence à établir dans Excel ou Office, c'est le fichier tlb. Il me semble que Éric Vernié en parle dans son article. Si mes souvenirs sont exacts, tu peux créer ton fichier tlb en ligne de commande avec RegAsm. Mais rendu-là, je ne sais plus. Si j'ai le temps, et que la batterie j'essaierai de rechercher un peu plus tard. Pour l'instant les mots que j'essaie ne mènent à rien et je suis en panne d'inspiration et d'idées. J'avais une idée pour un contrôle Activex que j'ai commencé, mais je pense que j'ai été bloqué plus tôt que toi et j'ai été pris par d'autres urgences et des choses qui m'ont semblé plus intéressantes.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  5. #5
    Expert confirmé
    Inscrit en
    avril 2008
    Messages
    2 542
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : avril 2008
    Messages : 2 542
    Points : 4 343
    Points
    4 343
    Par défaut
    bonjour

    1/ Rendre un Class .Net visible dans le monde Com est décrit ici step by step dans ce lien MSDN HELP FR intitulé :
    "Procédure pas à pas : création d'objets COM avec Visual Basic"

    https://www.google.fr/url?sa=t&rct=j...y_nFFyr2klFlKL

    1/ Rendre un Custom OU Control User .Net visible dans le monde Com est "more versatile" et il faut télécharger ce "Microsoft InteropForms Toolkit 2.1" et l'installer ...Le toolkit contient des exemples

    Lien de téléchargement Microsoft intitulé "Download Microsoft InteropForms Toolkit 2.1 from Official Microsoft ..."

    https://www.google.fr/url?sa=t&rct=j...Dn2w4tPlbzlNt0

    bon code...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    En passant, as-tu un fichier .tlb (il me semble) du même nom que ton contrôle ?
    oui j'ai chargé le LTB dans les référence, je le vois dans le code mais pas dans la liste de contrôles!

    Nom : Test.gif
Affichages : 370
Taille : 153,1 Ko

    pour ce qui est de Toolkit je l'ai activé dans vb 2017 comunity mais pour l'instant ??
    Dernière modification par Invité ; 16/02/2018 à 19h20.

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 905
    Points : 10 177
    Points
    10 177
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    C'est la chose que l'on fait généralement une fois pour toutes.
    As-tu regardé tes paramètres ActiveX dans tes options d'Excel ? Note que tu peux te faire un certificat personnel (valable un an) pour signer ton code directement dans VS.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonsoir Clément,

    Oui j'ai signer mon assembli,en revanche je n'est pas regardé les options d'excel, je regarde et je te dis ce qui en est!

    Le plus rigolo c'est qu'il y a 5 autres développeurs dot.net dans ma boîte et aucun n'a la réponse!
    Dernière modification par Invité ; 16/02/2018 à 22h07.

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 905
    Points : 10 177
    Points
    10 177
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par dysorthographie Voir le message
    Bonsoir Clément,

    Le plus rigolo c'est qu'il y a 5 autres développeurs dot.net dans ma boîte et aucun n'a la réponse!
    Ouf ! Je me sens moins seul.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  10. #10
    Expert confirmé
    Inscrit en
    avril 2008
    Messages
    2 542
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : avril 2008
    Messages : 2 542
    Points : 4 343
    Points
    4 343
    Par défaut
    REBONJOUR

    La réponse donnée est super complète ,mais tu es libre d'errer !!!

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    4 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 4 905
    Points : 10 177
    Points
    10 177
    Billets dans le blog
    36
    Par défaut
    Bonjour

    Citation Envoyé par MABROUKI Voir le message
    bonjour

    1/ Rendre un Class .Net visible dans le monde Com est décrit ici step by step dans ce lien MSDN HELP FR intitulé :
    "Procédure pas à pas : création d'objets COM avec Visual Basic"
    Désolé de de te décevoir, mais Google t'as menti.

    Le lien mène vers

    Et le titre c'est:

    Procédure pas à pas : création et utilisation d'objets dynamiques (C# et Visual Basic)
    C'est l'article que j'ai cherché hier et que j'ai fini par trouver, grâce au titre que tu as cité. (Je l'ai donné en pâture au moteur de recherche de MSDN (En fait, c'est Bing)

    https://docs.microsoft.com/fr-fr/dot...ng-com-objects
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  12. #12
    Modérateur

    Homme Profil pro
    Inscrit en
    janvier 2007
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : janvier 2007
    Messages : 1 718
    Points : 5 459
    Points
    5 459
    Par défaut
    Bonjour,

    J'ai parcouru rapidement le sujet, sur le forum il existe deux sujets parlant des TLB et de vb.net avec VBA ou VB6.
    1. Créer des exécutables et les lier
    2. [MVSE 2008 - VBA 2007] - Créer une DLL VBNet et l'utiliser dans une macro VBA

    Peut-être pourras-tu trouver quelques pistes.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

Discussions similaires

  1. Création d'un contrôle Winform avec Delphi pour .NET
    Par Nono40 dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 13/02/2013, 21h11
  2. Réponses: 10
    Dernier message: 11/05/2010, 15h24
  3. probleme en visual studio 2003 pour création de nouveau projet ASP.net
    Par magui_laurene dans le forum Visual Studio
    Réponses: 5
    Dernier message: 13/04/2008, 04h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo