dianaTours
Messages postés5Date d'inscriptionmercredi 27 juin 2007StatutMembreDernière intervention26 octobre 2007
-
25 oct. 2007 à 09:40
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008
-
26 oct. 2007 à 20:15
Bonjour,
je voudrais savoir si quelqu'un sait comment faire pour pouvoir ouvrir un fichier Excel à l'intérieur d'une fenêtre VB.net,
J'ai vu plein de choses sur le net, mais la plupart des exemples sont faits en VB 6.
J'ai réussi à afficher mon fichier Excel dans un webbrowser , mais le problème c'est qu'avec cette méthode, je ne peux pas avoir le controle sur mon fichier.
Si quelqu'un sait quelle est la meilleure méthode, merci de me l'expliquer .Je suis sur un projet et c'est très urgent pour moi .
Merci beaucoup
dd2007
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 25 oct. 2007 à 17:30
Bonjour,
En créant une instance de OWC.Spreadsheet tu pourras piloter un Excel dans une form Windows :)
Voici un exemple tout bête qui ouvre un OWC Excel ( écrit en FBSL ) :
Sub Command1_Click()
PostMessage( Me, WM_SIZE, 0, 0 ): Show(Me)
End Sub
Sub Form_Load()
Dim $WinName
AtlAxWinInit()
WinName = "OWC.Spreadsheet"
hWnd = FBSL_Control("AtlAxWin", Me, WinName, _
0, 0, 15, 620, 460, WS_CHILD Bor WS_VISIBLE, 0)
AtlAxGetControl( hWnd, @XL )
End Sub
Sub RefreshAfxControl()
GetClientRect( Me, Lefti, Topi, Righti, Bottomi )
ReSize(hWnd, 0, 30, Righti - 15, Bottomi - 60)
Refresh(hWnd)
End Sub
Sub QuitMe()
ReleaseObject( XL ): ExitProgram(0)
End Sub
Sub Main()
Resize(Me, 0, 0, 640, 480 )
Center(Me)
Form_Load()
Command1_Click()
Begin Events
If CBMsg = WM_CLOSE Then QuitMe()
If CBMSG = WM_SIZE Then RefreshAfxControl()
End Events
End Sub
dianaTours
Messages postés5Date d'inscriptionmercredi 27 juin 2007StatutMembreDernière intervention26 octobre 2007 26 oct. 2007 à 19:29
Merci beaucoup pour ta réponse, mais en fait en continuant les
recherches j'ai réussi à faire un exemple qui fonctionne bien. Mais ca
ressemble beaucoup au code que tu as au dessus.
voici un extrait en vb.net:
'La forme contient un composant PictureBox dans lequel j'ouvre mon fichier Excel
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 26 oct. 2007 à 20:15
Hello,
Ton code est une pure bidouille qui 'embarque' un controle via son handle dans un handle 'parent'.
Cette technique est sympa mais n'a rien à voir avec OWC qui est un composant Office developpé pour etre expressement raccordé à un controle, meme si le resultat au final te semble similaire :)
Autre différence : FBSL ressemble à .NET, sauf qu'il est compilable en EXE autonaume et qu'il permet de faire de l'introspection, aspect non négligeable :)