bonjour
quel code me conseillez-vous pour l'ouverture d'un dossier avec explorateur Windows avec un code vba avec position de la fenêtre et les dimensions ?
merci d'avance
bonjour
quel code me conseillez-vous pour l'ouverture d'un dossier avec explorateur Windows avec un code vba avec position de la fenêtre et les dimensions ?
merci d'avance
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
bonjour
le code fonctionne sans redimensionner la fenêtre et sans erreur
avez vous une idée de mon problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Function OuvrirFichier2(MonFichier As String) 'par Excel-Malin.com ( https://excel-malin.com ) Dim vl_procId vl_procId = Shell("C:\windows\explorer.exe " & MonFichier, vbNormalFocus) retval = vl_procId largeur = GetSystemMetrics32(0) hauteur = GetSystemMetrics32(1) MoveWindow FindWindow(vbNullString, vl_procId.locationname), 0, ((hauteur / 4 * 3) - 50), largeur, hauteur / 4, True End Function
merci d'avance
re
les declarations d'api elles sont ou ?
bon te casse pas la tete j'ai retrouvé la mienne j'y ai fait l'adaptation a ton souhait
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
17
18
19
20
21
22
23
24
25
26 '********************************************************************* 'fonction pour ouvrir un dossier l'explorateur en placant et dimentionnant la fenetre 'auteur:patricktoulon Developpez.com 'ouvrir un dossier dans l'explorer et placer et dimentionner la fenetre '********************************************************************* ' Declare Function MoveWindow Lib "user32" (ByVal hWnd As Long, ByVal X As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long ' ' Public Function Ouverture_Dossier(Mondossier As String) Dim X&, Lcaption$ With CreateObject("shell.application") 'creation de l'object shell.application X = .Windows.Count 'récuperation du count des fenetres eventuellement deja ouvertes Shell "C:\windows\explorer.exe " & Mondossier, vbNormalFocus 'ouverture du dossier dans l'explorer avec shell Do: DoEvents: Loop Until .Windows.Count > X: 'gestion d 'attente d'ouverture complete de l'explorateur le count augmente donc de 1 Lcaption = .Windows(.Windows.Count - 1).locationname 'determine la caption$ de la fenetre End With 'deplacement de la fenetre MoveWindow FindWindow(vbNullString, Lcaption), 0, ((GetSystemMetrics(1) / 4 * 3) - 50), GetSystemMetrics(0), GetSystemMetrics(1) / 4, True End Function ' Sub test() Ouverture_Dossier "C:\Users\polux\DeskTop" End Sub![]()
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
bonjour
merci pour le code il fonction très bien
je l'ai pas mis pour les prochaines fois je les métrailes déclarations d'api elles sont ou ?
peut ton récupéré la position et les dimension des fenêtre ouvert par vba et modifier a notre guise ?
merci d'avance
re
oui tu peux recupérer les dimemtions avec l'api getwindowrect par exemple
le bottom - le top c'est le height
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 Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwnd As Long,lpRect As RECT) As Long Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type sub truc() Dim r As RECT retour=GetWindowRect(hwnd, r) ' Affiche la position Haut/Gauche de la fenêtre MsgBox "Gauche : " & r.Left & ", Haut: " & r.Top, vbOK, "Position fenêtre" end sub
le rigth-le left c'est le width
le hwnd c'est le handle
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer :: ça peut servir aux autres
et n'oublie pas de voter
Partager