Affichage d'une fenêtre lors de l'exécution de la tâche...

Affichage d'une fenêtre lors de l'exécution de la tâche... - VB/VBA/VBS - Programmation

Marsh Posté le 22-10-2005 à 23:33:45    

Bonjour,
 
Un script en VBscript permet aux utilisateurs d'un réseau de copier des softs  dans leurs répertoires personnels.
 
Une fenêtre au début du script informe l'utilisateur que le soft va être installé et une fenêtre à la fin indique que tout s'est bien passé  :) .
 
Lorsque je suis seul sur le réseau pour tester, il faut environ 30 secondes pour faire la copie (100 Mo), Certainement beaucoup plus long lorsque tous les users seront logués.
 
Je souhaiterais faire apparaître une fenêtre à l'écran le temps de l'exécution de la copie, soit tout simplement un petit sablier ou la fenêtre Windows qui montre les fchiers défiler...
 
Est-ce possible en VBscript ?
 
Si oui dans quelle direction je dois travailler...
 
Merci d'avance...  

Reply

Marsh Posté le 22-10-2005 à 23:33:45   

Reply

Marsh Posté le 23-10-2005 à 11:26:00    

Oui c'est possible ;)
Tourne toi vers: WSC...

Reply

Marsh Posté le 23-10-2005 à 15:28:03    

MErci pour la réponse si tu trouves comment on fait...
Je serais intéressé.
 
Fred

Reply

Marsh Posté le 23-10-2005 à 16:15:31    

dahlo a écrit :

Oui c'est possible ;)
Tourne toi vers: WSC...


Merci dahlo pour ta réponse.  :hello:  
 
Donc deux bonnes nouvelles...
La première, ce que je souhaite faire est possible,  :D  
La deuxième, j'ai une piste sérieuse...  :)  
 

Citation :

si tu trouves comment on fait...  
Je serais intéressé.


Bien entendu Fred, si je trouve quelque chose qui tourne, je post...  ;)  
 
Bonne journée.

Reply

Marsh Posté le 23-10-2005 à 16:54:28    

Bon n'ayant pas de réponse et pour ceux que ça intéresse, je me suis orienté vers la solution Internet Explorer  Si ca t'intéresse !
 
Dim Ie            ' Appli InternetExplorer  
Dim Console    ' Fichier de réponse html  
Dim LogEvent  ' Nom du fichier de suivi du script (.HTML)  
Dim FileRepInet ' Repertoire des fichiers Intarnet  
 
LogEvent = "Console.html"  
FileRepInet = "C:\WWW\Intranet\"  
 
Set Ie=WScript.CreateObject("InternetExplorer.Application" )  
Ie.Visible=True  
Ie.Top=10  
Ie.Height=500  
Ie.Width=500  
Ie.Navigate FileRepInet&LogEnvent  
Ie.MenuBar=False  
Ie.AddressBar=False  
Ie.Resizable=False  
 
Set Console =Fso.CreateTextFile(FileRepInet&LogEvent)  
 
Console.Write "<HTML><BR>"  
Console.Write  Time & "'--- Première écriture <BR>"  
Ie.Refresh  
 
Blablabla  Suite du Programme  
 
Console.Write  Time & "'--- Deuxième écriture <BR>"  
Ie.Refresh  
 
Blablabla  Suite du Programme  
 
Console.Write  Time & "'--- Troisième écriture <BR>"  
Ie.Refresh  
 
Blablabla  Suite du Programme  
 
Console.Write "</HTML>"  
Console.close  
Ie.Quit  
 
Ainsi j'ai une fenêtre Ie ou je peux suivre mon VBS pas pas tel un débuger même si pour ma part c'est que mon VBS dure longtemps et que je voulais savoir ce qu'il faisait et où il en était....  
 
Bon je sais qu'il doit y avoir mieux...  
M'enfin ça marche bien comme ça aussi sans prise de tête...  
Même si je me suis un peu pris la tête quand même !  
 
@+ Fred

Reply

Marsh Posté le 23-10-2005 à 18:52:38    

Silvano:  
pour t'aider dans la comprehension de MSDN une petite application:
part 1 ...
part 2 ...
part 3 ...
part 4 ...(2pages)
Pour l'assistant WSC:
http://www.microsoft.com/downloads [...] laylang=en
 
Fred_L: Bien l'utilisation d'IE, mais à l'occasion, envisage le sous forme de composant. On se casse un peu la tête la première fois, mais ça vaut le coup ;)

Reply

Marsh Posté le 23-10-2005 à 20:03:32    

Fred En voyant ton post je me suis dis (avec ton aide  :) ) :
1° je lance le script
2° J'ouvre IE avec une image animée que je laisse à l'écran le temps de l'exécution du script
3° Lorsque l'exécution du script est terminée je ferme IE et j'affiche un message pour dire que tout s'est bien passé...  :D  
 
 
dahlo L'application que tu proposes est vraiment impressionnante (boite de dialogue avec la progression de l'exécution de la tâche), heureusement c'est pédagogique et ç'est un vrai cours...
Tu as raison c'est tellement "beau" qu'il vaut mieux essayer de se mettre au WSC même si la tâche a l'air d'être rude...  :pt1cable:
Merci pour tes précieuses infos...

Reply

Marsh Posté le 24-10-2005 à 15:00:00    

En attendant de comprendre WSC  :pfff: j'ai utilisé le code de Fred (merci Fred) concernant IE, voilà ce que ça donne :

Citation :


Option Explicit
 
'Passage concernant la copie des dossiers
Dim ORepertoire
Dim Source
Dim Destination
Set ORepertoire = WScript.CreateObject("Scripting.FileSystemObject" )
Source = "\\SERVEUR2003-1\Applis$"
Destination = "U:\Logiciels"
 
'Passage concernant l'application Internet Explorer
Dim OIe
Dim Fichier
Dim Chemin
Fichier = "installation_ciel_2005.htm"
Chemin = "E:\Logiciels\Vb Script\"
Set OIe=WScript.CreateObject("InternetExplorer.Application" )
Dim OShell
Set OShell = WScript.CreateObject("WScript.Shell" )
 
'Vérification de l'existence du répertoire dans le dossier personnel de l'utilisateur
If ORepertoire.FolderExists (Destination) Then
 
    Dim Message
    Message = MsgBox("Attention Ciel Réseau existe déjà dans votre répertoire personnel !" &VbCrLf&VbCrLf& "Vos Entreprises vont-être supprimées." &VbCrLf&VbCrLf& "Souhaitez vous continuer ?", vbCritical + vbYesNo + 256, "Attention !" )
    If Message = vbYes Then
         'Suppression du répertoire existant
         ORepertoire.Deletefolder Destination
         'Lancement d'une fenêtre Internet Explorer pour faire patienter l'utilisateur
         OIe.Left = 50
         OIe.Top = 100
         OIe.Height = 200
         OIe.Width = 550
         OIe.MenuBar = 0
         OIe.ToolBar = 0
         OIe.StatusBar = 0
         OIe.Resizable= 0
         OIe.Visible = 2
         OIe.navigate Chemin&Fichier
         'Affichage de la fenêtre Internet Explorer en premier plan à l'écran
         OShell.AppActivate "Installation Ciel 2005"
         'Copie du répertoire
         ORepertoire.CopyFolder Source, Destination
         'Fermeture de la fenêtre Internet Explorer
         OIe.Quit
         'Message avertissant l'utilisateur que l'installation s'est bien déroulée
         MsgBox "L'installation de Ciel Réseau dans votre dossier personnel s'est bien déroulée." &VbCrLf&VbCrLf&VbCrLf& "L'administrateur réseau.", vbInformation, "Information"
    Else
         'L'utilisateur ne souhaite pas supprimer ces données
         MsgBox "Demandez conseil à votre professeur." &VbCrLf&VbCrLf&VbCrLf& "L'administrateur réseau.", vbInformation, "Information"
    End if
 
Else
'Lancement d'une fenêtre Internet Explorer pour faire patienter l'utilisateur
OIe.Left = 50
OIe.Top = 100
OIe.Height = 200
OIe.Width = 550
OIe.MenuBar = 0
OIe.ToolBar = 0
OIe.StatusBar = 0
OIe.Resizable= 0
OIe.Visible = 2
OIe.navigate Chemin&Fichier
'Affichage de la fenêtre Internet Explorer en premier plan à l'écran
OShell.AppActivate "Installation Ciel 2005"
'Copie du répertoire
ORepertoire.CopyFolder Source, Destination
'Fermeture de la fenêtre Internet Explorer
OIe.Quit
'Message avertissant l'utilisateur que l'installation s'est bien déroulée
MsgBox "L'installation de Ciel Réseau dans votre dossier personnel s'est bien déroulée." &VbCrLf&VbCrLf&VbCrLf& "L'administrateur réseau.", vbInformation, "Information"
 
End If


Il y a juste l'affichage en premier plan de la fenêtre IE qui ne fonctionne pas  :( (la fenêtre IE clignote dans la barre des tâches si une fenêtre était déjà à l'écran). Pourtant le titre du fichier installation_ciel_2005.htm  correspond bien avec :
OShell.AppActivate "Installation Ciel 2005"
 
C'est pas bien grave, je vais chercher  :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed