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

VBScript Discussion :

Détecter la présence d'une fenêtre


Sujet :

VBScript

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Détecter la présence d'une fenêtre
    Bonjour,

    Dans le cas d'un développement d'un VBScript pour l'impression de rapport Crystal Report 8 (oui, il y a encore des gens qui travaillent avec), je rencontre le problème suivant : lorsque j'ouvre la fenêtre d'aperçu avant impression celle-ci rend immédiatement la main au VBScript qui se termine fermant ainsi la fenêtre.

    Ma première idée a été la suivante : ajouter une MsgBox, mais on ne peut plus prendre la main sur la fenêtre

    Deuxième idée: ajouter un Wscript.echo mais ce n'est pas une solution très "propre"

    La solution que j'ai retenu, ce serait de mettre en pause le VBScript tant que la fenêtre d'aperçu existe. J'ai donc tenté quelque chose comme :

    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
    Dim shAppWins
    Dim a, nb
    Dim bFind
    Set shAppWins = CreateObject("Shell.Application").Windows
    nb = shAppWins.count
    bFind = false
    For  a=0 To nb-1
       If shAppWins.item(a).locationName = "Visulisation RPT" Then
          bFind = true
          Exit For
       End If
    Next
     
    While shAppWins.item(a).locationName = "Visulisation RPT" And bFind = true
       Sleep(100) 'en l'absence de DoEvents en VBS
    Wend
    Le soucis est que la fenêtre n'est jamais trouvé, car elle n'existe pas dans la collection shAppWins alors qu'elle est bien affichée avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    '...
    Set oCRApp = CreateObject("Crystal.CRPE.Application")
    Set oRep = oCRApp.OpenReport(strRPTPath & strRPTFile)
    oRep.Preview "Visualisation RPT"
    '...
    Si quelqu'un à une idée ou mieux une solution, je suis preneur.

    Merci.
    Dernière modification par Invité ; 16/11/2006 à 09h48.

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

Discussions similaires

  1. Comment détecter la fermeture d'une fenêtre par la croix?
    Par man_coef dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/06/2008, 16h34
  2. Réponses: 5
    Dernier message: 13/06/2007, 16h15
  3. détecter la présence d'une chaîne de caractères
    Par nadalator666 dans le forum Langage
    Réponses: 1
    Dernier message: 28/03/2007, 11h13
  4. Comment détecter la fermeture d'une fenêtre?
    Par Masmeta dans le forum C++Builder
    Réponses: 1
    Dernier message: 18/01/2007, 16h02
  5. Détecter l'ouverture d'une fenêtre
    Par Matt2094 dans le forum Delphi
    Réponses: 9
    Dernier message: 30/08/2006, 12h48

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