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 :

Ouverture d'une connexion DDE de VBA vers un logiciel tiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut Ouverture d'une connexion DDE de VBA vers un logiciel tiers
    Bonjour, je me présente david, ingénieur r&d. J'ai des notions en développement c et labview, et je suis malheureusement novice en VBA.

    Je vous explique mon problème
    Je développe une petite application via Excel.

    Cette application doit commencer par établir un lien entre VBA(enfin donc Excel) et un logiciel tiers qui s'appelle Optima. Ce dernier est un logiciel d'acquisition pour un fluorimètre (mais bon ca à la limite on s'en fiche).

    Ce logiciel est compatible dde et le fournisseur donne même un semblant de programme pour exemple que voici :

    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
    Private Sub Command1_Click()
    Dim Cmd, Separator
    ' open DDE connection:
    If Text1.LinkMode = vbLinkNone Then
    Z = Shell("D:\Programme\BMG\OPTIMA\ExeDLL\FLUOstar", 4)
    ' start DDE Server
    Text1.LinkTopic = "FLUOstar|DDEServerConv1" ' set DDE topic
    Text1.LinkItem = "DdeServerStatus" ' set DDE item
    Text1.LinkMode = vbLinkManual ' choose link mode
    End If
    ' send a DDE command:
    Separator = Chr(13) & Chr(10)
    Cmd = "PlateOut" ' Create command string
    Cmd = Cmd & Separator & "User" ' Add parameters
    Cmd = Cmd & Separator & "0"
    Cmd = Cmd & Separator & "5000"
    Text1.LinkExecute Cmd ' send DDE macro command
    MsgBox "DDE command to OPTIMA sent.", 64
    End Sub
    la partie send a command est plutot clair pour moi
    Suite à des recherches sur internet j'ai compris à quoi servaient les linktopic linkitem et linkmode. Là encore rien de bien compliquer.

    Bien sur l'adresse dans l'exemple n'est pas la bonne, là encore ce n'est pas la difficulté réelle (quoi que dans la véritable adresse qui se situe dans program files, il y a un espace, est-ce un problème pour VBA faut il mettre l'espace sous forme de code ?)

    Non mon problème se situe au niveau de la variable text1 (déjà est ce une variable ?) dois je la définir comme étant un objet (comme une textbox ?) ou comme une variable string ?

    le compilateur bloque donc sur la première ligne ou apparait text1.linkmode

    idem dois-je déclarer Z

    Bref cette étape est vraiment ce qui me bloque, en effet après ce n'est qu'une succession d'envoi de commande et d'apparitions de fenetre pour l'utilisateur ce qui est relativement simple à faire compte tenu de mes petites connaissances et des tutoriaux présents un peu partout notamment sur ce site bien riche en informations.

    Merci d'avance de votre aide et de vos réponses

    edit : au passage je sais que la connexion fonctionne l'éditeur du logiciel fournissant un espèce de mini programme basé sur le protocole dde qui permet de communiquer de manière simplifier avec le logiciel d'acquisition.

  2. #2
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Non mon problème se situe au niveau de la variable text1 (déjà est ce une variable ?) dois je la définir comme étant un objet (comme une textbox ?) ou comme une variable string ?
    trouvé sur internet :
    Notons aussi que lors d'une liaison DDE, vous ne pouvez transférer que les données qui sont dans les contrôles Label, TextBox et PictureBox.
    Par contre je n'ai pas encore trouvé comment récupérer ces propriétés .LinkTopic ...

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/05/2011, 12h48
  2. Réponses: 5
    Dernier message: 17/10/2009, 12h22
  3. [MySQL] temps d'ouverture d'une connexion VS temps d'exécution d'une requête
    Par epoz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/04/2007, 18h06
  4. Ouverture d'une connexion RDP en mode "console" ?
    Par elitost dans le forum Windows XP
    Réponses: 2
    Dernier message: 31/08/2006, 10h37
  5. Ouverture d'une requête parmètrée en VBA
    Par Armagnak dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/07/2006, 16h53

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