Automatisation à l'aide de VBScript Windows 7 (x64)
Bonjour,
J'ai une application distribuée écrite C# 2.0, elle se compose d'un service windows qui tourne sur un server, il reçoit des jobs à exécuter et les envoies à des services windows (d'exécution) qui tournent sur des machine de calcul (avec les droits admin)
Le job en question est une classe C# serialisable qui lance Process.Start() avec un .bat en paramètre, le batch est tout simplement la commande
"csript file.vbs [arguments]"
Le fichier vbs exécute grosso-modo les lignes suivantes :
Code:
1 2 3 4 5 6 7 8 9 10
|
Set xlobj = WScript.CreateObject("Excel.Application")
Set workbooks = xlobj.WorkBooks
Set objWorkbook = workbooks .Open(excelFile,updateLinks,readonly)
Set InputSheet = objWorkbook.Sheets(InputSheetName)
//…
Set some variables values in a InputSheet
Xlobj.Calculate()
Set outputSheet = objWorkbook.Sheets(outputSheetName)
outPutSheet.saveAs outputFileNameFull, 6 //as .cvs file. |
Sur une machine windows 7 (x64) il n'y a aucun pb à exécuter le batch directement, cependant, quand il est lancé via l'appli (ç-à-d par le service windows d'exécution). On a l'erreur suivante :
Error (1004) description : Impossible de lire la propriété Open de la classe Workbooks.
Une version C# du VBS s'exécute elle aussi sans soucis directement sur la machine mais plante via l'appli avec l'erreur :
Exception de HRESULT : 0x800A03EC
Par ailleurs, tout se passe bien sur une grille de machines XP SP2 à l'exception d'une seule qui présente les même symptômes que la "Windows 7"
Est-ce un problème de droits sur le poste Windows 7 ? un problème d'activation des objets COM ?...
Merci d'avance pour votre aide.