Vba Word doc document.PrintOut赢得';t打印到特定的打印机

Vba Word doc document.PrintOut赢得';t打印到特定的打印机,vba,ms-word,Vba,Ms Word,我在使用Office 2007的Windows Vista上使用cscript运行以下.js文件: 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 objDo

我在使用Office 2007的Windows Vista上使用cscript运行以下.js文件:

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打印该文档。我的问题是,对于我们正在测试的特定打印机,文档无法打印。我可以跟踪它是否正确执行。打印输出且没有任何错误,以及WINWORD进程是否按预期启动和终止(我可以在TaskManager中看到)。对于我们的其他测试打印机,脚本工作正常

我对这种类型的脚本编写有点陌生(编写脚本的人正在度假…),有没有关于如何解决这个问题的建议


编辑:我已经隔离了打印输出调用,脚本的其余部分是不相关的,甚至调用ActiveDocument。从Word文档内部打印输出与打印机有相同的问题。

结果表明,问题是objDoc.PrintOut中字符串中的空格(false,false,0;呼叫删除空格修复了问题