Descripteur pour une Feuille Word

Résolu
Signaler
Messages postés
55
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
17 avril 2008
-
Messages postés
55
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
17 avril 2008
-
Bonjour,

Voila mon problème, j'ai une source qui lance une application Word
(sans l'afficher). Lorsque mes différents traitements sont finis, une
feuille de dialogue s'affiche et donne la possibilité de visualiser le document Word.... Lorsque
je click sur visualiser mon document s'affiche bien mais, en arriére
plan !? J'aimerais qu'il ce trouve au premier plan, c'est à dire devant
la feuille de mon application.

J'ai pensé à l'utilisation d'un API pour solutionner mon probléme:

Private Declare Function BringWindowToTop Lib "user32" (ByVal hWnd As Long) As Long

Le problème s'est que la propriété " hWnd " qui référence la fenêtre active n'existe pas pour les documents Word. Comment  récupérer le descripteur (ou une propriété équivalente à hWnd) d'un document Word ??

Merci pour vos conseils.

1 réponse

Messages postés
55
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
17 avril 2008

Régle numéro 1: Il faut toujours persévérer, voila la réponse pour ceux que sa interesse:



' Déclaration des API pour passer la main à l'application Word

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function BringWindowToTop Lib "user32" (ByVal hWnd As Long) As Long

Private Sub cmdVisualisation_Click()

    Dim Word_hwnd As Long

    ' Récupération du Handle de l'application Word
    lWord_hwnd = FindWindow(vbNullString, "[Nom du doc] - Microsoft Word")
    ' Affichage de l'application
    BringWindowToTop Word_hwnd

End Sub