Est il possible d'integrer dans un vbs une barre de defilement pour faire patien

Signaler
Messages postés
8
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
17 mars 2006
-
Messages postés
42
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
7 novembre 2019
-
Bonjour

Est il possible d'integrer dans un vbs une barre de defilement pour faire patienter l'utilisateur.

J ai une appli. qui met à peut pret une minute à s'executer avant de demander à l'utilisateur de redemarrer sa machine et je voudrais que l'attente devienne un peu plus conviviale.

Merci

7 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Bonsoir,

Non, en VBS, il faut détourner la problématique.
Sur le Forum, j'ai trouvé et adapté cette possibilité.

' ################## AFFICHER UNE FENETRE D'INFORMATION
strComputer = "."
Set objWMIService = GetObject("Winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
intVertical = objItem.ScreenHeight
Next
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Left = (intHorizontal - 800) / 2
objExplorer.Top = (intVertical - 100) / 2
objExplorer.Width = 500
objExplorer.Height = 180
objExplorer.Visible = 1
objExplorer.Document.Body.Style.Cursor = "wait"
objExplorer.Document.Title = fic & " - " & Now
objExplorer.Document.Body.InnerHTML = "
Création du fichier
""" &_
fic & """
en cours , merci de patienter.
"
'#################
'
' Ici: Actions du script
'
'' ################## FERMER LA FENETRE
objExplorer.Document.Body.Style.Cursor = "default"
objExplorer.Quit

Set objExplorer = Nothing
Set colItems = Nothing
Set objWMIService = Nothing

Mais, je suppose que c'est possible, en vbs, d'ouvrir les APIs, via Excel/VBA, et de se créer sa progressbar.
Soi disant, étant user (donc client), je n'apprecierai pas trop de recevoir un send, popup, msgbox.... me prévenant
le re-boot du pc.

jean-marc
Messages postés
8
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
17 mars 2006

Voila exactement ce que je cherchais
Merci beaucoup Jean Marc au moins mes utilisateurs patienterons intéractivement on peut dire sa comme sa !!
Encore merci
Messages postés
8
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
17 mars 2006

J ai encore un petit probleme vis a vis de ce script. Il ne s execute pas sur une machine possedant le Sp1.
Il me met l erreur suivante :
Type incompatible
code 800A000D
Erreur d'execution Microsoft VBScript

Si quelqu un peut m aider!!
merci
Bonjour je commence le VBS donc ne soyez pas trop méchant lol.

J'ai utilié ton script JMO, la banniere apparait bien au milieu de l'ecran sur un OS W2K3 mais lorsque le script est executé sur un XP, la banniere va se mettre dans la barre des taches.
J'ai chercher comment résoudre le problème mais sans succès :/

voici le code (même si je pense que ce n'est pas nécéssaire de le mettre):

"
''''''''''''''''''''''''''''''''''''''''''''''''''''
' Script de récupération de la signature AV McAfee '
''''''''''''''''''''''''''''''''''''''''''''''''''''

' ################## AFFICHER UNE FENETRE D'INFORMATION
strComputer = "."
Set objWMIService = GetObject("Winmgmts:\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_DesktopMonitor")
For Each objItem in colItems
intHorizontal = objItem.ScreenWidth
'msgbox " : " & intHorizontal
intVertical = objItem.ScreenHeight
'msgbox "int: " & intVertical
Next
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Left = (1440 - 800) / 2
objExplorer.Top = (900 - 100) / 2
objExplorer.Width = 500
objExplorer.Height = 180
objExplorer.Visible = 1
objExplorer.menubar = 0
objExplorer.Document.Body.Style.Cursor = "wait"
objExplorer.Document.Title = fic & " - " & Now
objExplorer.Document.Body.InnerHTML = "
Processus de copie en cours
""" &_
fic & """
merci de patienter.
"
'#################
'

' Suppression du contenu du répertoire de destination

Const DeleteReadOnly = True
Dim objFSO, RepSrc, RepDest, FilesSrc, FilesDest, FoldersSrc, FoldersDest, log
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("D:\Data\signature\V7\*.*"), DeleteReadOnly
objFSO.DeleteFolder("D:\data\signature\V7\*.*"),DeleteReadOnly

' Test la suppression du contenu du répertoire

Set RepDest = objFSO.GetFolder("D:\Data\signature\V7")
Set FilesDest = RepDest.Files
Set FoldersDest = RepDest.SubFolders
Set log = objFSO.OpenTextFile("D:\data\signature\ControleDisque.txt",ForAppending,true)

if FilesDest.count+FoldersDest.count=0 then
log.write("Le contenu du répertoire de destination est vider ") & vbCrLf
'msgbox("Dossier vider")
else
msg="Il y a " & FilesDest.count & " fichier(s) et " _
& FoldersDest.count & " dossiers(s)"
msgbox msg
end if

' Copie du contenu du répertoire \\phy\signatvirus\V7 sur la cleh USB

objFSO.CopyFolder "\\phy\signatvirus\V7\vide", "D:\data\signature\V7"

' Vérification du bon deroulement de la copie

Set RepSrc = objFSO.GetFolder ("\\phy\signatvirus\V7")
Set FilesSrc = RepSrc.Files
Set FoldersSrc = RepSrc.SubFolders
Set RepDest = objFSO.GetFolder("D:\Data\signature\V7")

if FilesDest.count+FoldersDest.count=0 then
'msgbox("Dossier vide")
else if FilesDest.count+FoldersDest.count=FilesSrc.count+FoldersSrc.count then
log.write("Signature copié sur la clef USB") & vbCrLf
'msgbox("Il y a " & FilesDest.count & " fichier(s) et " _
'& FoldersDest.count & " dossiers(s); La signature a bien été copié")
else
'msgbox ("Erreur de copie")
end if
end if

' Création du Log de la copie

Const ForAppending = 8
Dim stRep 'Nom du répertoire à parcourir
Dim objFld, path, size, subf, filc
stRep = "D:\data\signature"
Set objFld = objFSO.GetFolder(stRep)

For Each objFld In objFSO.GetFolder(stRep).SubFolders
path = "Path: " & objFld.Path
size = objFld.Size /(1024*1024)
size = "Size: " & size & " Mo"
subf = "SubFolders.Count :" & objFld.SubFolders.Count
filc = "Files.Count :" & objFld.Files.Count
log.write(Date)
log.write(", ")
log.write(Time)
log.write(" : ")
log.write(path)
log.write(" ; ")
log.write(size)
log.write(" ; ")
log.write(subf)
log.write(" ; ")
log.write(filc) & vbCrLf
Next
'
'' ################## FERMER LA FENETRE
objExplorer.Document.Body.InnerHTML = "
Processus de copie terminé
""" &_
fic & """
merci
"
objExplorer.Document.Body.Style.Cursor = "default"
objExplorer.Quit

Set objExplorer = Nothing
Set colItems = Nothing
Set objWMIService = Nothing



"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
Je ne crois pas que ton problème soit dû à des OS différents, mais à des résolutions d'écran différentes !
Sont concernées par la résolution de l'écran les deux lignes suivantes :
objExplorer.Left = (1440
- 800) / 2
objExplorer.Top = (900
- 100) / 2


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Logiquement ce ne devrait pas etre ca car j'ai essayé le script sur mon poste XP et en TSE sur un serveur.

Mais oui exact j'ai changé c'est 2 lignes car les parametres ne fonctionnait pas.
J'ai l'erreur suivante avec les parametres:
objExplorer.Left = (intHorizontal - 800) / 2
objExplorer.Top = (intVertical - 100) / 2

Type incompatible: 'objExplorer.Left'
Code: 800A000D
Messages postés
42
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
7 novembre 2019
7