kimgreg
Messages postés5Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention30 août 2005
-
22 août 2005 à 11:35
kimgreg
Messages postés5Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention30 août 2005
-
23 août 2005 à 10:03
Bonjour à tous, Mon probleme est le suivant
Je souhaite ouvrir des documents openoffice dans une fenetre fille MDI en visual basic 6.
Or j'ai testé avec n'importe quel document word cela fonctionne mais les documents d'openoffice ceux ci s'ouvrent en dehors de ma feuille MDI.
Si quelqu'un a une idée sur le probleme ou mieux une solution ca m'interresse, pour faire en sorte d'ouvrir des documents "openoffice" via une fenetre MDI fille.
Voici le code de la solutions qui marche avec des documents autres que openoffice :
Solution)
' Declaration d'une fonction permettant de trouver l'identifiant d'une fenetre en fonction de son entete
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
' Fonction permettant d'ouvrir n'importe quel document
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
...
Private sub test()
Dim hcalc As Long
Dim RetVal
Dim hParent As Long
' J' ouvre mon pramme word ou openoffice
RetVal = ShellExecute(0, "Open", "C:\Documents and Settings\Administrateur\Bureau\test.doc", "", "", 10)
' Je recupere l'identifiant de ma fenetre =>hwnd en fonction de son entete
hcalc = FindWindow(vbNullString, "test.doc - Microsoft Word")
' Je change la fenetre parent de mon document
hParent = SetParent(hcalc, Me.hWnd)
end sub
Si quelqu'un a une idée sur le probleme ou mieux une solution ca m'interresse, pour faire en sorte d'ouvrir des documents "openoffice" via une fenetre MDI fille.
sans garantie , tu peux faire un essai en les enlevant :
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (lpClassName As String, _
lpWindowName As String) As Long
' Fonction permettant d'ouvrir n'importe quel document
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(hwnd As Long, lpOperation As String, lpFile As String, _
lpParameters As String, lpDirectory As String, nShowCmd As Long) As Long