none
Aide, Obtention Getobject(,"Excel.application") à partir Process.getprocessesbyname("excel") RRS feed

  • Question

  • Bonjour,

    j'ai la configuration suivante:
    j'ai besoin de communiquer avec un programme Tradexpert qui fournit des données par l'intermédiaire d'un communication DDE .  Visual studio ne gérant pas DDE , je passe par l'intermédiaire d'Excel .
    Au lancement de l'application VB.net je dois vérifier si mon application Excel est ouverte ou pas ? .
    je recherche donc les instances d'excel par Process.getprocessesbyname("excel") ,  et pour chacune des instances j'espérais pourvoir retouver le nom des workbooks ouverts et apparement c'est pas possible (pas evident) je suis pas un expert .
    j'arrive uniquement à retrouver les fichiers de l'instance active avec :
    getobject(,"excel.application") ou
    system.runtime.interopservices.marshal.getactiveobject("excel.application")
    Pouvez m'aider dans ce sens , ou existe t'il un moyen de dialoguer directement avec Tradexpert .

    Merci d'avance
    JJK
       
    samedi 20 février 2010 08:11

Réponses

Toutes les réponses

  • Bonjour,

     

    Voici une librairie qui pourrait résoudre votre problème avec DDE.
    http://www.taltech.com/support/dde_sw/ddedotnet.htm

     DDE n’est pas supporté par Visual Studio .NET et je vous conseille de l’utiliser seulement dans les cas où une alternative n’est pas présente.

     

    Pour l’option que vous avez essayé, voici quelques ressources pour lire le workbook active d’une application Excel :

    http://support.microsoft.com/default.aspx/kb/316126

     

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    • Marqué comme réponse Alex Petrescu lundi 22 février 2010 10:57
    lundi 22 février 2010 10:56
  • Bonsoir

    Pour retrourver un workbook spécifique (non actif) parmi un ensemble d'instances Excel, à partir du KB316126 j'ai trouvé la solution sur le KB288902.

    xalpp = getobject( chemin complet du classeur).application

    Merci beaucoup. pour votre aide
    JJK

     
    lundi 22 février 2010 21:13
  • Correction,

    la solution précedente, n'est valable que dans certaines conditions ( si l'application Excel intemédiaire  est ouverte je détecte sa présence sans problème. Par contre si elle ne l'est pas , il se passe des choses bizarres, je préferre abandonner cette solution  pour ne pas perdre des données ....) avant de lancer mon application VB.net je ferme toutes les instances Excel en cours .

    JJK
    mardi 23 février 2010 08:25