Sub OuvrirVoletWord_V_4()
Dim Hdock As LongPtr, Hword As LongPtr, I&, Haut&, T, N$
' Ouvrir le panneau
fermetureVoletWord_v_4
'ouverture du paneau source
'on teste si le window est la
T = AllPartExcelWindowList
For I = 2 To UBound(T)
If T(I, 2) = "bosa_sdm_XL9" Then
Hdock = CLngPtr(T(I - 2, 1))
Haut = T(I, 8)
Exit For
End If
Next
' sil n'est pas là
If Hdock = 0 Then
Application.CommandBars.ExecuteMso "XmlSource"
T = AllPartExcelWindowList
For I = 2 To UBound(T)
If T(I, 2) = "bosa_sdm_XL9" Then
Hdock = CLngPtr(T(I - 2, 1))
Haut = T(I, 8)
Exit For
End If
Next
End If
' Ouvre le fichier Word
fichier = Application.GetOpenFilename("Word Files (*.doc*), *.doc*", 1, "Ouvrir un fichier")
If fichier = False Then Exit Sub
Set wordxapp = CreateObject("Word.Application")
wordxapp.Visible = True
wordxapp.Documents.Open fichier
DoEvents
N = Split(Mid(fichier, InStrRev(fichier, "\") + 1), ".")(0)
' Ici tu utilises ta fonction GetWinHandle
Hword = GetWinHandle("OpusApp", N, 10)
DoEvents
plaque.Show 0
DoEvents
AppForm = GetActiveWindow
SetWindowLong AppForm, -16, &H16000000 'checkbox on vire la caption
SetParent AppForm, Hdock
SetWindowPos AppForm, 0, 0, 0, (Application.Width / 2) / 0.75, Haut, 0
DoEvents
SetParent Hword, AppForm
SetWindowPos Hword, 0, 0, 0, (Application.Width / 2) / 0.75, Haut, 0
End Sub
Sub fermetureVoletWord_v_4()
Dim T, I&
'fermeture du document word si il y en a déja un
T = AllPartExcelWindowList
For I = 2 To UBound(T)
If T(I, 2) = "OpusApp" Then
' Application.CommandBars.ExecuteMso "XmlSource"
On Error Resume Next
If Not wordxapp Is Nothing Then
wordxapp.document.Close
wordxapp.Quit
On Error GoTo 0
End If
End If
Next
Application.CommandBars.ExecuteMso "XmlSource"
Unload plaque
End Sub