用WordDocument.PrintOut打印,为什么有时可以打印,有时打不出来呢?
打印不出来时,是在打印机队列那里已经有了,可马上又删了,怎么回事呢?
用程序打印word文件还有其他方法吗?我用的是d7+win2000pro
请教~

解决方案 »

  1.   

    我没遇到过这种情况,打印队列里有,说明打印任务已经传送出去了,应该跟word设置没什么关系,可能是线路或者是打印机的问题
      

  2.   

    但是我直接用word打开同一个文件就可以打印呀.我的程序是用来生成合同文档的,直接用程序更换word文档的字符然后就直接打印出来.
    在d7+win2000pro+office xp下除了打印不出来,没有什么问题Procedure Tform1.PrintWithWord();
    var Msword,MsDoc,MsRange:Variant;
    beginMsWord := CreateOleObject('Word.Application') ;
    try
       MsDoc := MsWord.Documents.Open(ExtractFilePath(Paramstr(0))+'db\document.doc');
       MsDoc.Select ;
       MsRange := MsDoc.Range ;
       MsDoc.Range.Find.Execute('<htbh>',,,,,,,,,zy_bh.Text,True) ; 
       Msdoc.printout;
    finally
       MsDoc.Close(False) ;
       MsWord.Quit(False) ;
    end ;end;  //end pro
      

  3.   

    如果改为 MsDoc.Close(True); 是可以把文件修改后保存的.
      

  4.   

    是设置worddocument的属性吗?
    我加了 MsDoc.pagesetup.papersize:=wdPaperA4;
    还是打不出来.
      

  5.   

    解决了.
    估计是关闭文件太快了,文本还没有完全传到打印机就关闭了word,改了下就可以了
       Msdoc.printout;
       sleep(10000);
       MsDoc.Close(False) ;
       MsWord.Quit(False) ;谢谢楼上的,结帐了