OVH Cloud OVH Cloud

Ouvrir Excel en Perl via un Service

1 réponse
Avatar
Olivier
Bonjour,

Je developpe actuellement un service Windows qui se charge à un mioment
d'ouvrir Excel grace à la méthode suivante:
$Excel->Workbooks->Open($path.$workfile);

Cette methode fonctionne très bien lorsque que j'execute le fichier
directement en ligne de commande (manuellement).

Mais quand je delegue l'execution de ce script à un service, j'ai un gros
plantage de la machine au moment de l'execution de cette methode avec
l'erreur:
- can't call methode "Open" on an undefined value -

Je crois savoir que cela peut provenir d'un problème de droit au niveau du
service pour utiliser certains objets DCOM.

J'ai déjà autorisé l'utilisateur qui est proprietaire du servcie à utiliser
l'objet Microsoft Office Acces Application dans:
dcomcnfg -> Component services -> Computers -> My Computer -> DCOM config

Et placé l'option:
"Enable COM Internet Sercice on this Computer" dans les propriétes (onglet
default Properties) de
dcomcnfg -> Component services -> Computers -> My Computer

Mais il doit y avoir d'autres droits et paramètres à valider car cela ne
fonctionne toujours pas.

quelqu'un peut-il me sauver la vie ?


Cordialement
Olivier

1 réponse

Avatar
Olivier
Pardon,

J'ai oublié de préciser:
Je suis sous Windows Server 2003 et Office 2003.

Cordialement
Olivier


Bonjour,

Je developpe actuellement un service Windows qui se charge à un mioment
d'ouvrir Excel grace à la méthode suivante:
$Excel->Workbooks->Open($path.$workfile);

Cette methode fonctionne très bien lorsque que j'execute le fichier
directement en ligne de commande (manuellement).

Mais quand je delegue l'execution de ce script à un service, j'ai un gros
plantage de la machine au moment de l'execution de cette methode avec
l'erreur:
- can't call methode "Open" on an undefined value -

Je crois savoir que cela peut provenir d'un problème de droit au niveau du
service pour utiliser certains objets DCOM.

J'ai déjà autorisé l'utilisateur qui est proprietaire du servcie à utiliser
l'objet Microsoft Office Acces Application dans:
dcomcnfg -> Component services -> Computers -> My Computer -> DCOM config

Et placé l'option:
"Enable COM Internet Sercice on this Computer" dans les propriétes (onglet
default Properties) de
dcomcnfg -> Component services -> Computers -> My Computer

Mais il doit y avoir d'autres droits et paramètres à valider car cela ne
fonctionne toujours pas.

quelqu'un peut-il me sauver la vie ?


Cordialement
Olivier