Discussion: Conversion VBA en VBS

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Responsable d'exploitation informatique
    Inscrit en
    janvier 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : janvier 2006
    Messages : 4
    Points : 5
    Points
    5

    Par défaut Conversion VBA en VBS

    Bonjour à tous,

    voila mon problème :
    je me suis servi de l'éditeur de macro VBA Excel pour écrire une fonction permettant de rafraichir deux pages web ouvertes dans deux browsers distinctes. (recherche de la fenêtre souhaitée parmi toutes les fenêtres ouvertes, activer la fenêtre en question (focus) puis envoi de la touche F5 par Sendkeys

    Dans Excel, la macro fonctionne très bien. Mais le but étant de la déclencher par le planificateur de tâches, je souhaite la convertir en vbs. Mais l'exécution par cscript génère des erreurs de compilation.

    Qu'est ce qui ne va pas dans mon code pour vbscript ?

    Voici le code en question :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As String, ByVal lpWindowName As String) As Long
    Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
    Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
     
    ' ShowWindow() Commands
    Public Const SW_HIDE = 0
    Public Const SW_SHOWNORMAL = 1
    Public Const SW_NORMAL = 1
    Public Const SW_SHOWMINIMIZED = 2
    Public Const SW_SHOWMAXIMIZED = 3
    Public Const SW_MAXIMIZE = 3
    Public Const SW_SHOWNOACTIVATE = 4
    Public Const SW_SHOW = 5
    Public Const SW_MINIMIZE = 6
    Public Const SW_SHOWMINNOACTIVE = 7
    Public Const SW_SHOWNA = 8
    Public Const SW_RESTORE = 9
    Public Const SW_SHOWDEFAULT = 10
    Public Const SW_MAX = 10
    '-----------------------------------
     
    Sub Rafraichir_Fenetre(titre_fenetre As String)
      Dim hwnd As Long, Fenetre As String
     
      Fenetre = titre_fenetre '
     
      hwnd = FindWindow(vbNullString, Fenetre)
     
      If hwnd = 0 Then Exit Sub
        SetForegroundWindow hwnd
        'ShowWindow hwnd, SW_SHOW
        SendKeys "{F5}", True
      End Sub
     
    Sub Main()
        Rafraichir_Fenetre ("Monitoring des services critiques - Google Chrome")
     
        Application.Wait (Now + TimeValue("0:00:05"))
     
        Rafraichir_Fenetre ("La meteo des domaines - Google Chrome")
    End Sub
    Merci pour votre aide.
    Cordialement.
    Gérald.

  2. #2
    Expert éminent sénior

    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    6 164
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 6 164
    Points : 11 808
    Points
    11 808

    Par défaut

    bonsoir un truc qui me rend sceptique c'est d'appeler des APi win 32 dans un script internet
    Sinon c'est pas possible de debugger pas-à-pas en mettant des points d'arrêt ?
    Mais l'exécution par cscript génère des erreurs de compilation.
    ok mais quelles sont ces erreurs ?
    * Descartes: "je pense donc je suis"
    * Bob l'éponge : "je pense donc j'essuie"
    * l'infirmière : "je panse donc je suis"

  3. #3
    Membre expérimenté
    Homme Profil pro
    Responsable déploiement
    Inscrit en
    juillet 2014
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement

    Informations forums :
    Inscription : juillet 2014
    Messages : 823
    Points : 1 445
    Points
    1 445

    Par défaut

    Ce script est un vbscript ?

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    3 973
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 3 973
    Points : 7 662
    Points
    7 662

    Par défaut

    Salut

    Il n'est pas possible d'utiliser des APIs, sinon en utilisant DynamicWrapperX.
    En VBScript, il ne faut pas typer les variables.

Discussions similaires

  1. Adaptation méthode "AutoFilter" de VBA vers VBS
    Par orducom1 dans le forum VBScript
    Réponses: 2
    Dernier message: 23/04/2009, 08h09
  2. Conversion VBA à VB
    Par Turtur dans le forum VBA Access
    Réponses: 7
    Dernier message: 01/12/2008, 13h26
  3. Transformer un code VBA en VBS
    Par GENI36 dans le forum VBScript
    Réponses: 3
    Dernier message: 17/10/2008, 12h59
  4. Macro VBA vers VBS
    Par harlockbaz dans le forum VBScript
    Réponses: 3
    Dernier message: 17/02/2008, 21h53
  5. VBA vers VBS syntaxe
    Par Eric dans le forum VBScript
    Réponses: 4
    Dernier message: 22/02/2007, 09h41

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