Lancer Excel depuis VB.NET

chris_brabant Messages postés 64 Date d'inscription dimanche 24 juillet 2005 Statut Membre Dernière intervention 29 septembre 2014 - 22 nov. 2006 à 09:03
Hospea Messages postés 2 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 14 février 2007 - 14 févr. 2007 à 12:24
Bonjour

comment faire simplement pour lancer Excel depuis un programme VB.NET, mais SANS SAVOIR A L'AVANCE quelle version d'Excel est installée sur la machine d'exécution de ce programme ?

Si on utilise la méthode standard de création d'un object "Excel.Application", la compilation rend l'exécutable dépendant de la version d'Excel installée sur la machine sur laquelle la compilation a été faite.

Exemple : j'ai Office 2002 sur ma machine de développement, et la machine d'exécution a Office 2003...

Merci

1 réponse

Hospea Messages postés 2 Date d'inscription dimanche 19 février 2006 Statut Membre Dernière intervention 14 février 2007
14 févr. 2007 à 12:24
Si tu as une réponse, cela m'intéresse.

en ayant installé Excel 2003 et Excel 2007 sur le même poste de dev, je met en référence le Microsoft EXCEL 11 object library et Microsoft EXCEL 12 object library

je crée une fonction

Public

Function ApplicationInstalled(
ByVal strSubKey
As
String)
As
Boolean
Dim objKey
As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.ClassesRoot

If objKey.OpenSubKey(strSubKey)
Is DBNull.Value
Then
Return
False
Else
Return
True
End
If
End
Functionet je l'utilise comme ceci

If ApplicationInstalled(
"Excel.Application.12") =
True
Then
v_Excel = CreateObject(
"Excel.Application.12")

else
v_Excel = CreateObject("Excel.Application.11")

end if

Mon problème est que cela me lance toujours Excel 11 (2003)

<>
0
Rejoignez-nous