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

Scripts/Batch Discussion :

batch qui recupere donné dans macro word


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ouflala
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut batch qui recupere donné dans macro word
    Bonjour,

    J'ai une macro word dans laquelle il y a entres autres
    -des initiales d'utilisateurs
    -des réferences courriers
    -un schell qui lance le batch ci-apres.

    J'ai un batch qui lance thunderbird qui fonctionne tres bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "C:\Program Files\Mozilla Thunderbird\thunderbird.exe" -compose to='robert.dupont@msn.fr',subject='courrier validé',body='votre courrier ha100001 a été validé'
    Je voudrais si c'est possible que les champ"destinataire" et "body" soient des variables et qu'ils changent en fonction des valeurs de ma macro

    Merci d'avance pour votre aide...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonjour
    quelques exemples pour t'aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ::création des variables
    set destinataire=robert.dupont@msn.fr
    set message=votre courrier ha100001 a été validé
    
    "%programfiles%\Mozilla Thunderbird\thunderbird.exe" -compose to='%destinataire%',subject='courrier valide',body='%message%'

    et en voici un avec un fichier.doc contenant :

    robert.dupont@msn.fr;votre courrier ha100001 a été validé
    robert.martin@msn.fr;votre courrier ha100010 a été validé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for /f "tokens=1,2 delims=,%%a in ('type fichier.doc') do 
    set destinataire=%%a
    set message=%%b
    "%programfiles%\Mozilla Thunderbird\thunderbird.exe" -compose to='%destinataire',subject='courrier validé',body='%message%'

  3. #3
    Membre confirmé Avatar de ouflala
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    bonjour acris,

    Tout d'abord merci de te pencher sur mon pb...

    En fait les variables que je dois déclarer dans mon batch sont elles meme des variables qui sont présentes dans une macro word.

    Je vais etre plus precis.
    Voici le code vb de ma macro:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim nom as string
     nom=ActiveDocument.name
    ActiveDocument.name peut avoir comme valeur ha100001, ha100002, ha100003 etc etc

    A la fin de ma macro, un schell excute un batch qui execute thunderbird.

    Le role de ce batch est d'envoyer un mél a un destinataire (on ne va pas le prendre en compte pour simplifier) avec un message qui lui est variable :
    "Votre courrier numero %valeur_de_la_variable_"nom"_de_ma_macro% a bien été validé"

    J'ai qques connaissances en vb et en batch, mais la je ne sais pas comment m'y prendre...

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par ouflala Voir le message
    mais la je ne sais pas comment m'y prendre...
    Soit tu utilises des paramètres ( pb avec les espaces),
    soit tu crées un batch pour chaque appel,
    soit tu crées dynamiquement, à vérifier si c'est possible, ta ligne d'appel de thunderbird,
    Voir aussi si tu peux modifier des variables utilisateurs persistentes, ce qui permettrait de les référencer dans le code de ton batch.

  5. #5
    Membre confirmé Avatar de ouflala
    Inscrit en
    Novembre 2005
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 110
    Par défaut
    Bonjour,
    Voir aussi si tu peux modifier des variables utilisateurs persistentes, ce qui permettrait de les référencer dans le code de ton batch.
    C'est ce que je pensais faire, mais je ne connais pas la syntaxe...
    En gros je voudrais insérer dans mon batch:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ::création des variables
    set courrier= variable_"nom"_de_la_macro_1_de_l'application_word
    Je pense que ca doit etre possible...

  6. #6
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ouflala Voir le message
    C'est ce que je pensais faire, mais je ne connais pas la syntaxe...
    Essaie avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WMIC ENVIRONMENT CREATE Name="Test",VariableValue="Valeur Test",UserName=%UserName%
    Mais je ne suis pas certain du résultat, ni de la pertinence de cette approche (nécessite 2 appels au Shell).
    Citation Envoyé par ouflala Voir le message
    En gros je voudrais insérer dans mon batch
    Si tu crées ton batch dans ta macro cela me semble possible.

    La solution d'Acris est aussi à regarder, basé sur un fichier.txt externe contenant les infos variables.

    Le pb est que les 2 environnements ( vba+batch) que tu utilises ne peuvent pas communiquer. Avec un shell plus évolué, tel que PowerShell tu peux piloter Word dans le même environnement et accéder aux variables des macros :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Variables("Mavar").Value

Discussions similaires

  1. Récupérer nomfichier excel dans macro Word
    Par deca2 dans le forum VBA Word
    Réponses: 6
    Dernier message: 08/10/2009, 10h31
  2. parametres dans macro word
    Par tinoucri dans le forum VBA Word
    Réponses: 1
    Dernier message: 08/03/2008, 09h17
  3. Recuperer données dans un combobox
    Par aoking dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/04/2007, 11h56
  4. données access dans macro word
    Par Heureux-oli dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/11/2006, 13h15
  5. Recuperation donnée dans tierce application
    Par petitcoucou31 dans le forum Langage
    Réponses: 3
    Dernier message: 10/02/2006, 12h12

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