Contexte :

Un classeur Excel est manipulé au moyen du client Excel d'un programme Visual Adelia (généré en C).

Le programme est exécuté dans le cadre d'un service Windows ou dans une tâche Windows définie pour s'exécuter avec profil non connecté.

Problème constaté :

L'exécution de l'instruction CLASS_OUVRIR échoue (généralement avec le code 000001).

Raison :

Par défaut, Excel n'est pas prévu pour s'exécuter en batch.

Solution :

Sur le serveur d'exécution du programme, créer un sous-répertoire Desktop dans le chemin C:\Windows\SysWOW64\config\systemprofile (sur un système en 64-bit) ou dans le chemin C:\Windows\System32\config\systemprofile (sur un système en 32-bit).

Note :

La mise en oeuvre du client Excel avec le mode Automation n'est pas recommandé en mode batch par Microsoft.

Avec Adelia, il est recommandé à partir de la V13 PTF3 d'utiliser la dll XlsxToolBx nécessitant pas la présence de l'application Excel sur le serveur d'exécution.

Liens :

https://stackoverflow.com/questions/7112967/powershell-excel-automation-save-open-fails-in-scheduled-task

https://social.technet.microsoft.com/Forums/en-US/aede572b-4c1f-4729-bc9d-899fed5fad02/run-powershell-script-as-scheduled-task-that-uses-excel-com-object?forum=winserverpowershell




  • Aucune étiquette