Je crée des applications VBA pour Word et Excel, est-il possible d'accéder à la barre de progression qui apparaît parfois dans la barre d'état Office.Comment puis-je accéder à la barre de progression dans la barre d'état d'une application Office?
4
A
Répondre
4
Voici simulera une barre de progression dans la barre d'état d'Excel:
Public Sub UpdateStatusBar(percent As Double, Optional Message As String = "")
Const maxBars As Long = 20
Const before As String = "["
Const after As String = "]"
Dim bar As String
Dim notBar As String
Dim numBars As Long
bar = Chr(31)
notBar = Chr(151)
numBars = percent * maxBars
Application.StatusBar = _
before & Application.Rept(bar, numBars) & Application.Rept(notBar, maxBars - numBars) & after & " " & _
Message & " (" & PercentageToString(percent) & "%)"
DoEvents
End Sub
0
Je n'ai pas accédé à la barre de progression, mais j'ai utilisé dans le passé quelque chose comme ceci pour placer la tâche texte d'état dans la barre d'état ...
Sub StatusBarExample()
Application.ScreenUpdating = False
' turns off screen updating
Application.DisplayStatusBar = True
' makes sure that the statusbar is visible
Application.StatusBar = "Please wait while performing task 1..."
' add some code for task 1 that replaces the next sentence
Application.Wait Now + TimeValue("00:00:02")
Application.StatusBar = "Please wait while performing task 2..."
' add some code for task 2 that replaces the next sentence
Application.Wait Now + TimeValue("00:00:02")
Application.StatusBar = False
' gives control of the statusbar back to the programme
End Sub
2
Je recommande en outre, pour enregistrer la état actuel du StatusBar, puis le restaurer quand tout est fait.
Dim OldStatus
With Application
OldStatus = .DisplayStatusBar
.DisplayStatusBar = True
.StatusBar = "Doing my duty, please wait..."
End With
' Do what you do best here (you can refresh the .StatusBar message with updted, as needed)
With Application
.StatusBar = False
.DisplayStatusBar = OldStatus
End With
0
AFAIK, il n'y a aucun moyen de reproduire la ligne bleue de points utilisés par Word Excel & pour montrer les progrès 100%, par exemple lors de l'ouverture d'un fichier. Je me souviens d'avoir vu du code pour le répliquer dans la barre d'état, mais c'était complexe, et je ne le recommanderais pas, quand il suffirait de dire "X% complete" dans la barre d'état, en utilisant Application.StatusBar.
Questions connexes
- 1. Barre de progression utilisant Office VBA
- 2. Ajouter une barre de progression dans la barre de navigation
- 3. Barre de progression dans la liste?
- 4. Comment utiliser la barre de progression WPF?
- 5. Affichage de la progression dans une barre de progression
- 6. Barre de progression dans WinForms
- 7. Barre de progression Delphi
- 8. Barre de progression verticale
- 9. Barre de progression
- 10. Barre de progression sur la page Web
- 11. WPF: Barre de progression asynchrone
- 12. barre de progression de URLDownloadToFile
- 13. Comment faire afficher correctement la barre d'utilisation (progression) dans IE
- 14. Barre de progression ASP.Net Fileupload
- 15. Comment afficher la barre de progression si waithandle est utilisé
- 16. Sortie de tuyauterie de subprocess.call vers la barre de progression
- 17. Comment mettre à jour une barre de progression OnSelectedIndexChanged?
- 18. Calculer le pourcentage de la barre de progression
- 19. Barre de progression Ruby on Rails
- 20. Comment créer une barre de progression verticale dans Cocoa?
- 21. Afficher la barre de progression au moment du traitement
- 22. Comment créer une barre de progression de sélection dans WPF?
- 23. Windows Forms: Barre de progression sans réponse
- 24. Progression de l'ordinateur (barre) en utilisant GZipStream
- 25. Flex: Pas de barre de progression?
- 26. Valeurs de la barre de progression à partir de la boucle sur un autre formulaire?
- 27. barre de progression en attendant le serveur
- 28. Barre de progression en HTML/CSS
- 29. Barre de progression dans l'application web utilisant C# et asp.net
- 30. Utilisation de la case à cocher/bouton radio/barre de progression dans les modules Flex 3