![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: août 2008
Messages: 2
|
Bonjour,
Voici mon pb : j'ai une macro VBA Excel avec interface UserForm (application.visible = false). Dans un onglet, je fais appel à une procédure "GetOpenFilename". L'utilisateur doit donc sélectionner un fichier via la fenêtre "Ouvrir" de l'explorer Windows. Hors, si un explorateur est déjà ouvert, après la sélection du fichier, celui-ci se met en avant-plan par rapport au UserForm, la reprise en main du UserForm oblige donc l'utilisateur à le remettre au premier plan via la barre de tâches Windows. Etant donné que l'utilisateur a 7 "GetOpenFilename" à effectuer pour valider l'opération, il doit faire un nombre incalculable de clics souris. Connaissez-vous une astuce pour laisser ce fichu explorateur en arrière plan sur le bureau. Merci d'avance pour votre précieuse aide !!! |
|
|
|
|
|
#2 (permalink) |
![]() Date d'inscription: août 2005
Messages: 3 113
|
bonsoir
Tu peux masquer l'explorateur pendant la durée de ta procédure. Tu utilises IE.Visible = False en début de procédure et IE.Visible = True pour le réafficher. Code :
Sub MasquerExplorateurWindows() 'Nécessite d'activer la référence '"Microsoft Internet Controls" 'Testé avec IE6 ' ' Dim IE As InternetExplorer Dim winShell As New ShellWindows Dim t As Date On Error GoTo Fin On Error Resume Next For Each IE In winShell If IE.FullName = "C:\WINDOWS\Explorer.EXE" Then IE.Visible = False Exit For End If Next IE 'Temporisation de 4 secondes t = Timer + 4: Do Until Timer > t: DoEvents: Loop Fin: IE.Visible = True End Sub bonne soirée michel |
|
|
|
![]() |
![]() |
||
Pb interaction UserForm/Explorer
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|