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 :

Excel en mode silencieux pour automatisation JENKINS [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut Excel en mode silencieux pour automatisation JENKINS
    Bonjour,

    Je suis en train d'automatiser des lancements de Macro Excel sous Jenkins, donc je lance EXCEL en ligne de commande.
    Seulement, il m'affiche quand même une IHM et ça bloque JENKINS.
    Quelqu'un sait le lancer en totalement silencieux afin que JENKINS soit pas bloquer?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    avec JENKINS tu lance Ficher VBSCRIPT en ligne de commande!
    Code Fichier.vbs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim XLS
    Dim Wb
    set XLS = creatobject("Excel.application")
    XLS.visible = false
    set wb = XLS.Workbooks.Open("C:\XLS.XLS")
    wb.Application.Run "MyMacro"
    wb.Close false
    XLS.Quit
    set wb = Nothing
    set XLS = Nothing
    Seulement, il m'affiche quand même une IHM et ça bloque JENKINS.
    tu as un IHM qui se lance sur la méthode open?

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    Et si on veut passer des paramètres?

  4. #4
    Invité
    Invité(e)
    Par défaut
    c'est possible mais de mémoire...
    je regarde dans mes archives, sans conviction je te l'avoue, mais sur Google sans problème!

    Edit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim oArgs
    Set oArgs=WScript.Arguments ' tableau d'arguments
    WScript.Echo oArgs.Count ' nombre d'argument transmis
    WScript.Echo oArgs(0) ' premier argument
    WScript.Echo oArgs(1) ' second argument
    Dernière modification par Invité ; 26/08/2015 à 16h32.

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    En fait, je lance excel comme ça en ligne de commande :
    EXCEL /cmd/m<MACRO1>/m<MACRO2> /r "FICHIER.xlsm" /e

    Et je voudrais faire la même chose avec vbs, car j'analyse la ligne de la commande dans la fonction Workbook_Open

    Une idée?

  6. #6
    Invité
    Invité(e)
    Par défaut
    devrait ressembler à qq chose comme ça, à la syntaxe excat près
    Code Ligne de commande : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier.vbs 'MACRO1' MACRO2'

    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
     
    Dim oArgs
    Set oArgs=WScript.Arguments ' tableau d'arguments
    'WScript.Echo oArgs.Count ' nombre d'argument transmis
    'WScript.Echo oArgs(0) ' premier argument
    'WScript.Echo oArgs(1) ' second argument
    Dim XLS
    Dim Wb
    set XLS = creatobject("Excel.application")
    XLS.visible = false
    set wb = XLS.Workbooks.Open("C:\XLS.XLS")
    wb.Application.Run oArgs(0)
    wb.Application.Run oArgs(1)
    wb.Close false
    XLS.Quit
    set wb = Nothing
    set XLS = Nothing

  7. #7
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    Tout marche bien en ligne de commande, mais quand je le lance depuis jenkins, il y a marqué :
    Microsoft Excel: Microsoft Excel ne peut acc�der au fichier ��******.xlsm��. Plusieurs raisons sont possibles�:

     Le nom du fichier ou le chemin d'acc�s n'existe pas.
     Ce fichier est actuellement utilis� par un autre programme.
     Le classeur que vous essayez d'enregistrer porte le m�me nom qu'un classeur actuellement ouvert.
    J'ai fait un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lExcel.Workbooks.Open(lFichierAvecMacros, 0, True)
    Comme si depuis Jenkins il ne pouvait pas bien lancer Excel.
    Pourtantn, j'ai bien mis Visible à FALSE.

    Une idée?

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je ne connais pas du tout Jenkins , mais logiquement la commande n'a rien à voir avec Excel mais DOS!

    tu peux lancer une commande DOS avec Jenkins ?

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    C'est comme si il n'aimait pas qu'une application avec IHM se lancer même non visible.
    Où puis-je trouver quelqu'un connaissant Jenkins?

  10. #10
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    En fait il fallait rajouter le dossier Desktop dans :
    • C:\Windows\SysWOW64\config\systemprofile
      C:\Windows\System32\config\systemprofile


    Par contre, j'ai un comportement bizarre sur la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
         Workbooks.OpenText _
            Filename:=lCheminCsv, _
            StartRow:=1, _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=False, _
            Tab:=False, _
            Semicolon:=True, _
            Comma:=False, _
            Space:=False, _
            Other:=False, _
            TrailingMinusNumbers:=True, _
            Local:=True
    Il n'ouvre pas bien le CSV, il trouve pas le délimiteur quand je lance avec JENKINS alors qu'en ligne de commande directement sur le serveur ça marche?
    Une idée? Un paramètre oublié?

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    Bonjour
    je n'est pas tres bien compris le soucis

    si tu veux crer et lancer un vbs qui ouvre excel et run une macro il va te faloir crer 2 scripts VBS
    le 1 lanceur qui lance le 2 eme avec les arguments

    le 2 eme comme durupt te l'a donné executant exel

    mais lancer le vbs en ligne de commande avec les arguments directement je craint fort qu'il y est un soucis d'interprétation du nom de fichier
    apres je ne connais pas jenkins alors a voir

    ou alors creer le vbs dynamiquement avec les arguments en dur dans le code

    dans tout les cas il y a 2 operations a faire
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    En fait, j'ai un script sur le serveur JENKINS.
    Lorsque je me connecte sur ce serveur et que je tape la ligne de commande dans une commande DOS tout se passe bien et le fichier généré est correct.
    Lorsque je rajoute cette même ligne de commande dans un JOB JENKINS, et que je lance ce job tout se passe bien, sauf que le fichier généré n'est pas correct.

    Le problème se situe dans l'utilisation de la commande "Workbooks.OpenText", j'ai l'impression que les arguments ne sont pas pris en compte quand je passe par le job.

    Une idée?

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    c'est bien ce que je dit l'argumentation est interprétée comme un nom ou autre

    dans ton jenkins
    créé un vbs qui ouvre ton classeur en mode text ou autre

    d'ailleur pourquoi ouvrir un classeur en mode texte c'est un CSV???
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    En fait, je crois savoir, c'est comme si "Local:=false" avec le JOB.
    Comment faire?

    Pourquoi ça marche pas quand on met "Local:=False"?

  15. #15
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 21
    Points
    21
    Par défaut
    C'est résolu, ça venait des paramètres régionaux du compte JENKINS. ;-)

    MERCI.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    vue que pour JENKINS je n'aurai pas été utile je me suis contenté de suivre les débats!

    tu à réglé ton problème dans sa version originale? ou tu exécute quand même un vbscript?

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour durupt
    oui moi aussi j'aurais bien aimer savoir
    je me suis interéssé a jenkins ,je ne connaissais pas , perl fait aussi bien en moins compliqué
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. [XL-2010] Aide pour automatisation fichier Excel
    Par Jeremy992 dans le forum Excel
    Réponses: 5
    Dernier message: 18/06/2014, 18h51
  2. Réponses: 0
    Dernier message: 21/03/2011, 09h16
  3. Macro pour automatiser liens excel access
    Par dim02 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/11/2009, 15h43
  4. macro pour automatiser tableau excel
    Par kameylia dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2008, 00h03
  5. [VBA-E] Appel macro Access depuis Excel en mode silencieux
    Par lordkoko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2006, 10h12

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