bioff
Messages postés7Date d'inscriptionvendredi 27 juin 2003StatutMembreDernière intervention27 octobre 2004
-
28 déc. 2003 à 17:21
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
28 déc. 2003 à 18:45
Dim hWnd As Long
Dim hWnd as Long
Dim objapp As Object
Dim objworkbook As Object
Dim objspreadsheet As Object
Dim nomdefichier as String
'vérifie si excel est en cours: OKIf hWnd FindWindow("XLMAIN", 0) 0 Then MsgBox "Fermer Excel avant SVP": Exit Sub
'lance Excel avec nomdefichier :OK (association correcte)
rretour& = ShellExecute(Me.hWnd, vbNullString, nomdefichier, "", vbNullString, 1)
Set objapp = GetObject(nomdefichier)
objapp.Application.Visible = True
objapp.Parent.Windows(1).Visible = True
Set objspreadsheet1 = objapp.Parent.Windows(1).ActiveSheet
Ce code fonctionne parfaitement sur la machine de développement (exe ou sous langage)
et ne fonctionne plus sur autres machines !!! (avec installation par le package VB)
msgbox "le composant activeX ne peut être créé" ou "...a échoué"
pour la ligne Set objapp = GetObject(nomdefichier).
Pas un prob de mémoire (plus sur autres que sur celle de développement)
Pas un problème d'association applic+extension de fichier
Pas un problème d'Excel: versions identiques avec licence
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 déc. 2003 à 18:45
Salut bioff
-1- Il faut savoir qu'un fichier EXE créé à partir de VB ne pas pas (dans 90% des cas) être simplement copié sur une autre machine. L'EXE a besoin des mêmes ressources que l'original.
Pour t'en sortir, tu peux utiliser l'Empataquage de VB qui listera ces controles OCX ou DLL nécessaires et te créera un Setup d'installation.
-2- Pour faire fonctionner les liens Excel, il te faut inclure l'objet Excel8.olb dans ton projet (Menu Projet, Références, Microsoft Excel 8.0 Object Library)