je cree une application qui cree un objet excel.application
(sur mon poste j'ai une version microsoft.excel
10.0.object.library car j'ai office XP sur mon poste)
comment reussir a le faire marcher sur un poste avec une
version inferieure.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean Yves SÉVENO
Bonjour.
Et bien, pour que ça fonctionne avec les versions antérieures, il te faudra faire du late binding.
C'est à dire qu'il ne faut pas référencer Excel dans ton projet mais le déclarer et l'instancier comme suit :
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
À noter que, dans ce cas, tu ne disposeras plus de la fonctionnalité d'aide à la saisie du code. Moi, je commencerais par écrire mon code en early binding pour disposer de cette fonctionnalité, puis je passerais ensuite en late binding une fois le code écrit et testé.
Bien entendu, il faut aussi veiller à ne pas utiliser de fonctionnalités qui n'existent pas dans toutes les versions d'Excel avec lesquels ton programme est susceptible d'être utilisé.
Cordialement.
Jean Yves
"datamind" a écrit dans le message de news:0a1c01c39ef3$acf70fe0$
Bonjour,
je cree une application qui cree un objet excel.application (sur mon poste j'ai une version microsoft.excel 10.0.object.library car j'ai office XP sur mon poste) comment reussir a le faire marcher sur un poste avec une version inferieure.
Merci d'avance.
Bonjour.
Et bien, pour que ça fonctionne avec les versions antérieures, il te faudra
faire du late binding.
C'est à dire qu'il ne faut pas référencer Excel dans ton projet mais le
déclarer et l'instancier comme suit :
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
À noter que, dans ce cas, tu ne disposeras plus de la fonctionnalité d'aide
à la saisie du code. Moi, je commencerais par écrire mon code en early
binding pour disposer de cette fonctionnalité, puis je passerais ensuite en
late binding une fois le code écrit et testé.
Bien entendu, il faut aussi veiller à ne pas utiliser de fonctionnalités qui
n'existent pas dans toutes les versions d'Excel avec lesquels ton programme
est susceptible d'être utilisé.
Cordialement.
Jean Yves
"datamind" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:0a1c01c39ef3$acf70fe0$a601280a@phx.gbl...
Bonjour,
je cree une application qui cree un objet excel.application
(sur mon poste j'ai une version microsoft.excel
10.0.object.library car j'ai office XP sur mon poste)
comment reussir a le faire marcher sur un poste avec une
version inferieure.
Et bien, pour que ça fonctionne avec les versions antérieures, il te faudra faire du late binding.
C'est à dire qu'il ne faut pas référencer Excel dans ton projet mais le déclarer et l'instancier comme suit :
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application")
À noter que, dans ce cas, tu ne disposeras plus de la fonctionnalité d'aide à la saisie du code. Moi, je commencerais par écrire mon code en early binding pour disposer de cette fonctionnalité, puis je passerais ensuite en late binding une fois le code écrit et testé.
Bien entendu, il faut aussi veiller à ne pas utiliser de fonctionnalités qui n'existent pas dans toutes les versions d'Excel avec lesquels ton programme est susceptible d'être utilisé.
Cordialement.
Jean Yves
"datamind" a écrit dans le message de news:0a1c01c39ef3$acf70fe0$
Bonjour,
je cree une application qui cree un objet excel.application (sur mon poste j'ai une version microsoft.excel 10.0.object.library car j'ai office XP sur mon poste) comment reussir a le faire marcher sur un poste avec une version inferieure.