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 6 et antérieur Discussion :

[VB Sax] Ajouter une référence manuellement dans un macro *.bas


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut [VB Sax] Ajouter une référence manuellement dans un macro *.bas
    Bonjour !

    Dans le cadre de l'installation d'une application .Net il faut également que je copie sur le poste client une petite macro qui fera le lien entre le programme de base et mon appli .NET. Cette macro se contente d'éxécuter mon appli.

    Le truc c'est que j'ai besoin d'ajouter mon application .Net (enregistré en COM) comme référence à ma macro. Ma macro aura un chemin défini (elle se trouvera dans un sous dossier de mon programme principale) et devra pointer vers mon appli .Net qui aura un autre chemin définis. Dans les 2 cas, le chemin est défini par l'utilisateur lors de l'installation, donc pas moyen de donner un chemin de référence fixe et de s'en contenter. Il faut, lors de l'installation, que j'édite ma macro .bas en lui donnant comme référence le chemin défini par l'user.

    Tout ça, j'arrive à le faire (avec grand peine, mais quand même). Seulement en lançant ma macro me met une "référence échoué" lorsque je veux la lancer une fois l'installation effectué.

    Voilà mon code pour ajouter une référence (c'est tout con) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#Reference {1C1FA74C-C923-4D21-A237-9AA0E4C9C846}#1.0#0#Chemin_de_mon_appli\myApplication.tlb#myApplication#myApplication
    En fait j'édite ma macro dans le programme et en ajoutant une référence à ma macro VIA le programme (Edition --> Référence), une fois que j'ouvre ma macro dans notepad, j'ai en tête du fichier ce genre de texte qui me note la référence à un fichier particulier. Donc pour mon installation j'ai simplement repris cette ligne de code et y modifiant le chemin de mon appli .Net (en l'occurence un fichier .tlb).

    Si ça fonctionne sur mon poste de développement, je suis obligé, sur un autre poste, de recréer la référence puisqu'il me la signale comme échouer.

    Existe-t'il un autre moyen de créer une référence ? Que signifie ce code {1C1FA74C-C923-4D21-A237-9AA0E4C9C846}, faut-il le changer en fonction de la machine ?

    Merci.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonsoir,

    Plusieurs choses me chagrinent terriblement et je m'en ouvre à toi :

    1) Si tu développes en VB.Net, pourquoi poser ta question dans la section VB6 ?
    2) si tu utilises un code, c'est que tu sais ce que tu fais (je l'espère) ...

    Comment alors peux-tu poser la question que tu poses, à savoir :

    Que signifie ce code {1C1FA74C-C923-4D21-A237-9AA0E4C9C846}, faut-il le changer en fonction de la machine ?

    D'où te vient donc la chose ? du ciel ?



    Bon ...

    Il s'agit là selon toute évidence d'un CLSID (et tu es censé savoir lequel, puisque tu l'utilises ....)
    Qu'est donc un CLSID ? ===>> là, ce n'est plus ni du VB6 ni du VB.Net, mais du "Windows", carrément.
    Il s'agit de la clé identificatrice unique de quelque chose (un exécutable, généralement)
    Si ce "quelque-chose" est présent sur une machine, il sera toujours identifié par cette clé identificatrice. Si pas présent, par contre ===>>> ben.... pas présent ...

    Bonne chance et pense à poser ta question dans la section ad hoc ...

    Edit : et j'ai encore du mal à comprendre ce qu'est une macro, tant en VB6 qu'en VB.Net... et encore plus de mal à comprendre ce que pourrait être une "macros.bas" ...

    Il faut, lors de l'installation, que j'édite ma macro .bas

  3. #3
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Bonsoir,

    Plusieurs choses me chagrinent terriblement et je m'en ouvre à toi :

    1) Si tu développes en VB.Net, pourquoi poser ta question dans la section VB6 ?
    Parce que l'ajout de ma référence va se faire dans mon fichier écrit en VB pas dans mon VB.net.

    2) si tu utilises un code, c'est que tu sais ce que tu fais (je l'espère) ...

    Comment alors peux-tu poser la question que tu poses, à savoir :

    Que signifie ce code {1C1FA74C-C923-4D21-A237-9AA0E4C9C846}, faut-il le changer en fonction de la machine ?

    D'où te vient donc la chose ? du ciel ?
    Je sais ce que je fais... sauf concernant la question précise que j'ai posé, à savoir : comment ajouter dynamiquement une référence dans VB6 ?

    Du coup par "dépit" j'ai ajouter, à l'aide de mon éditeur de code, une référence à mon programme et ensuite, en ouvrant mon fichier VB6 à l'aide du bloc-note, j'ai récupérer le "code" ajouter par le programme (c'est à dire ce 'Référence{003403240}machin_truc..). Si l'ajout de référence avec cette simple manip avait fonctionné sur les 5 postes que j'ai ici pour effectuer des tests (posts vista et XP) je ne me serais pas posé plus de question.


    Il s'agit là selon toute évidence d'un CLSID (et tu es censé savoir lequel, puisque tu l'utilises ....)
    Qu'est donc un CLSID ? ===>> là, ce n'est plus ni du VB6 ni du VB.Net, mais du "Windows", carrément.
    Il s'agit de la clé identificatrice unique de quelque chose (un exécutable, généralement)
    Si ce "quelque-chose" est présent sur une machine, il sera toujours identifié par cette clé identificatrice. Si pas présent, par contre ===>>> ben.... pas présent ...
    Ok. Mais c'est un identifiant défini par la machine ou un identifiant interne à mon programme qui sera le même d'une poste à l'autre ? Je ne vais pas aller plus loin dans ces questions concernant le CLSID, dans la mesure où, comme tu l'a souligné, on est dans la section VB6.

    Bonne chance et pense à poser ta question dans la section ad hoc ...
    Je pense pas être trop à l'ouest vu le cœur de ma question.

    Edit : et j'ai encore du mal à comprendre ce qu'est une macro, tant en VB6 qu'en VB.Net... et encore plus de mal à comprendre ce que pourrait être une "macros.bas" ...
    Concernant le terme macro c'est probablement un terme interne que j'utilise et qui est un peu flou. Mon programme utilise des macros VB de la même manière que Excel utiliserais des macro VBA. C'est un "addIn" qui permet de personaliser l'application à l'aide de petites fonctions. Et les fichiers de macro en question ont l'extension ".bas"

    J'éspère avoir un peu clarifié les choses. Mais la question principale reste, à savoir : comment, par le code, ajouter une référence manuellement à un fichier VB6. Genre un AddReference(path).

    Merci.

  4. #4
    Membre régulier Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Points : 83
    Points
    83
    Par défaut
    Mon problème amène en fait un autre problème qui n'a plus rien à voir avec VB6. Je met donc délestage.

    Merci.

Discussions similaires

  1. [XL-2010] Comment ajouter une référence à un XLA par macro ?
    Par Siefch1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2013, 15h38
  2. Réponses: 2
    Dernier message: 04/06/2012, 14h56
  3. Ajouter une ligne manuellement dans un GridView
    Par Juju54350 dans le forum ASP.NET
    Réponses: 12
    Dernier message: 25/11/2010, 15h56
  4. Ajouter une références dans VBA
    Par DPhBxl dans le forum VBA Access
    Réponses: 12
    Dernier message: 03/10/2008, 15h54
  5. Ajouter une référence dans un runtime
    Par rogger dans le forum Runtime
    Réponses: 13
    Dernier message: 07/12/2005, 17h20

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