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 :
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
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
Si quelqu'un à une idée ou mieux une solution, je suis preneur.
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" '...
Merci.
Partager