2009-12-12 4 views
0

Je le fichier .js suivant en cours d'exécution à l'aide cscript sous Windows Vista avec Office 2007:doc Word document.PrintOut ne sera pas imprimer sur une imprimante particulière

var err = 0; 
var app = WScript.CreateObject("Word.Application"); 
try { 
    var filename = WScript.StdIn.ReadLine(); 
    var enc = filename.toLowerCase().indexOf(".txt") >= 0 ? 65001 : 1252; 
    var objDoc = app.Documents.Open(filename, false, true, false, " ", " ", false, " ", " ", 0, enc, true, false, 0, true); 
    objDoc.PrintOut(false, false, 0, " ", " ", " ", 0); 
} catch (e) { 
    err = 1; 
} finally { 
    app.Quit(0); 
} 
WScript.Quit(err); 

Le point du code est qu'il accepte un nom de fichier de stdin et imprime ce document en utilisant Word. Mon problème est que pour une imprimante particulière avec laquelle nous testons, le document n'est pas imprimé. Je peux tracer qu'il exécute .PrintOut correctement et sans aucune erreur, et que le processus WINWORD est démarré et terminé comme prévu (je peux le voir dans le TaskManager). Pour notre autre imprimante de test, le script fonctionne correctement.

Je suis un peu nouveau pour ce type de script (le gars qui l'a écrit est en vacances ...), des conseils à la façon dont je peux résoudre ce problème? Edit: J'ai isolé l'appel PrintOut, le reste du script n'est pas pertinent, même l'appel ActiveDocument.PrintOut à l'intérieur d'un document Word a les mêmes problèmes avec l'imprimante.

Répondre

0

Il s'avère que le problème était les espaces dans les chaînes dans objDoc.PrintOut (false, false, 0, "", "", "", 0); appel. Supprimer les espaces a résolu le problème.

Questions connexes