2009-12-12 149 views
0

我有以下的.js文件正在運行使用CSCRIPT在Windows Vista上使用Office 2007:Word文檔document.PrintOut不會打印到特定打印機

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); 

代碼的一點是,它會接受來自stdin的文件名並使用Word打印該文檔。我的問題是,對於我們正在測試的特定打印機,文檔未打印。我可以跟蹤它正確執行.PrintOut,沒有任何錯誤,並且WINWORD進程按照預期啓動和終止(我可以在TaskManager中看到它)。對於我們的其他測試打印機,該腳本正常工作。

我對這種類型的腳本(編寫它的人是在度假......)有點新,對於如何解決這個問題有任何建議嗎?

編輯:我已經隔離了PrintOut調用,其餘的腳本是不相關的,甚至從Word文檔調用ActiveDocument.PrintOut與打印機有相同的問題。

回答

0

原來問題是objDoc.PrintOut中的字符串中的空格(false,false,0,「」,「」,「」,0);呼叫。刪除空間解決了問題。