CreateObject("Excel.Application") ne crée pas l'objet !
CreateObject("Excel.Application") ne crée pas l'objet ! - VB/VBA/VBS - Programmation
MarshPosté le 21-03-2005 à 17:28:30
Hello !
Je dois faire la migration d'un vieux pc vers un nouveau Il tourne sous windows 2000 avec un MS office 2000 FR et l'application est faites en VB (sous access) : une DB locale qui attaque la vraie DB qui est sur un serveur
Le nouveau pc est sous windows XP et MS office 2003 FR La première fois que j'ai essaié l'application sur le nouveau pc, dès erreurs explicites sont apparues, j'ai ainsi pu installer les .dll et .ocx nécessaires (DAO360.DLL, MSCOMCT2.OCX, RICHTX32.OCX) Le prog fonctionnait bien, mais lorsque j'ai essayé une certaine fonctionnalité, plantage ! Normalement une extraction est faites de la db, pushée dans un fichier excel temporaire qui est ensuite utilisé dans un fichier word ...
Voici le code concerné : <=== ' Transfert de la requête d'Access à Excel avec création d'un fichier XL temp. Pensez à supprimer ce fichier si plantage pendant tests ou autres et à tuer la tâche DoCmd.OutputTo acOutputQuery, "Q Planning Trainee", acFormatXLS, "C:\Planning.xls"
' Variable Excel et recherche de la ligne vide Dim ObjXlApp As Object Dim PosLigne As Long
Set ObjXlApp = CreateObject("Excel.Application" ) With ObjXlApp .Workbooks.Open ("C:\Planning.xls" ) PosLigne = 2 Do Until .Cells(PosLigne, 1).Value = "" PosLigne = PosLigne + 1 ... ... ... ===>
Cela plante lorsque il essaie d'utiliser l'objet ObjXlApp à la ligne : .Workbooks.Open ("C:\Planning.xls" )
En effet en faisant du pas à pas et en mettant un spy sur l'objet celui reste à "nothing" après la commande Set ObjXlApp = CreateObject("Excel.Application" ) qui normalement devrait le créer et l'initialiser ...
Quelqu'un pourrait-il me venir en aide ?? merci d'avance !
Tisch. (j'espère que je n'ai pas été trop chiant avec ma description du problème)
Marsh Posté le 21-03-2005 à 17:28:30
Hello !
Je dois faire la migration d'un vieux pc vers un nouveau
Il tourne sous windows 2000 avec un MS office 2000 FR et l'application est faites en VB (sous access) : une DB locale qui attaque la vraie DB qui est sur un serveur
Le nouveau pc est sous windows XP et MS office 2003 FR
La première fois que j'ai essaié l'application sur le nouveau pc, dès erreurs explicites sont apparues, j'ai ainsi pu installer les .dll et .ocx nécessaires (DAO360.DLL, MSCOMCT2.OCX, RICHTX32.OCX)
Le prog fonctionnait bien, mais lorsque j'ai essayé une certaine fonctionnalité, plantage ! Normalement une extraction est faites de la db, pushée dans un fichier excel temporaire qui est ensuite utilisé dans un fichier word ...
Voici le code concerné :
<===
' Transfert de la requête d'Access à Excel avec création d'un fichier XL temp. Pensez à supprimer ce fichier si plantage pendant tests ou autres et à tuer la tâche
DoCmd.OutputTo acOutputQuery, "Q Planning Trainee", acFormatXLS, "C:\Planning.xls"
' Variable Excel et recherche de la ligne vide
Dim ObjXlApp As Object
Dim PosLigne As Long
Set ObjXlApp = CreateObject("Excel.Application" )
With ObjXlApp
.Workbooks.Open ("C:\Planning.xls" )
PosLigne = 2
Do Until .Cells(PosLigne, 1).Value = ""
PosLigne = PosLigne + 1
...
...
...
===>
Cela plante lorsque il essaie d'utiliser l'objet ObjXlApp à la ligne :
.Workbooks.Open ("C:\Planning.xls" )
En effet en faisant du pas à pas et en mettant un spy sur l'objet celui reste à "nothing" après la commande
Set ObjXlApp = CreateObject("Excel.Application" )
qui normalement devrait le créer et l'initialiser ...
Quelqu'un pourrait-il me venir en aide ??
merci d'avance !
Tisch.
(j'espère que je n'ai pas été trop chiant avec ma description du problème)