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

Macros et VBA Excel Discussion :

Comment choisir automatiquement une classe et/ou une référence (librairie) dans VBA Excel [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Billets dans le blog
    1
    Par défaut Comment choisir automatiquement une classe et/ou une référence (librairie) dans VBA Excel
    Bonjour,

    J'ai remarqué que certaines classes ont été remplacées ou supprimées dans une référence (librairie) identique selon la version de Windows.

    Dans mon cas je publie sur plusieurs ordinateurs (Windows 7, Windows 8) un classeur (Excel 2007) avec des macros. J'utilise dans mes macros la classe MSXML2.DOMDocument.
    Sur mon ordinateur de développement j'ai sélectionné la référence (librairie) Microsoft XML, 6.0 qui contient la classe MSXML2.DOMDocument mais sur Windows 8 cette classe n'existe plus dans cette référence, je dois, soit changer de classe MSXML2.DOMDocument60, soit changer la référence Microsoft XML, 5.0.

    J'aimerais savoir :
    - Est-il possible de choisir automatiquement (par code) une classe ou une référence spécifique ?
    - Comment connaitre les différence entre les classes ? Dans mon cas MSXML2.DOMDocument et MSXML2.DOMDocument60

    Merci d'avance de vos réponses et salutations
    Stéphane

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Supprime définitivement la référence et fais comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim xmlDoc as Object
    Set xmlDoc=CreateObject("MSXML2.DOMDocument")
    Cette méthode utilisera l'api installé sur ta machine quelque que soit sa version!

  3. #3
    Membre averti

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Merci ça fonctionne !

    Mais... j'ai deux questions suite à cette solution :
    - Peut on connaitre la provenance (référence choisie par le système) de la classe ?
    - Est ce que la classe MSXML2.DOMDocument retournée par CreateObject sera identique (membres, méthodes, ...) sur différents systèmes ? Ou, est-ce qu' il y a un risque de comportement différent ?

    Et... un peu moins important... Etant donné que mon object est du type Object et plus MSXML2.DOMDocument je perd l'autocomplémentation lorsque j'écris le code, est-ce qu'il y a moyen de le récupérer ?

    Stéphane

  4. #4
    Invité
    Invité(e)
    Par défaut
    Non pas de changement.

    l'autocomplémentation n'est utile quand phase de développement, il suffit d'écrire de la même manière que tu as fait et de modifier avant la livraison de l'application!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim xmlDoc as MSXML2.DOMDocument 'as Object
    Set xmlDoc=CreateObject("MSXML2.DOMDocument")

  5. #5
    Membre averti

    Homme Profil pro
    Ing. dev
    Inscrit en
    Septembre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing. dev
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 29
    Billets dans le blog
    1
    Par défaut
    Merci beaucoup

    Stéphane

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. construire automatiquement les classes dérivée a une class mere
    Par elekis dans le forum Général Python
    Réponses: 17
    Dernier message: 09/06/2009, 20h53
  2. Réponses: 7
    Dernier message: 25/08/2008, 16h13
  3. Réponses: 2
    Dernier message: 02/02/2008, 07h37
  4. Réponses: 8
    Dernier message: 20/07/2007, 14h28
  5. Comment choisir un type d'attribut d'une classe?
    Par chevy dans le forum Langage
    Réponses: 8
    Dernier message: 18/05/2007, 17h08

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