通过ole打印word文档和excel文档

来源:互联网 发布:乡镇网络维护员工资 编辑:程序博客网 时间:2024/05/29 08:03

因工作上的原因,搜集了一些这方面的资料。深感搜集到这些资料的不易,因此拿出来和大家分享,希望能帮到大家一点点。

1. Vc打印Excel

关于VC如何打开一个excel,这方面的资料很多了,一般用的是OLE Avtive Control/假设当你打开了一个excel文件,并获得了它的

workbookhandle,相应的接口为:

COleVariantcovTrue((short)true);

COleVariantcovFalse((short)FALSE);

COleVariantcovOptional( (long)DISP_E_PARAMNOTFOUND, VT_ERROR);

_workbookobjbook;

.....

objBook.PrintOut(covOptional,

covOptional,

COleVariant(long(1)),//打印份数

covFalse,

covOptional,

covOptional,

covOptional

,covOptional

);

 

2 VC打印word

Word的打印接口是:

  COleVariant covTrue((short)TRUE);
  COleVariant covFalse((short)FALSE);
  COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
  doc.PrintOut(covFalse,              // Background.
       covOptional,          // Append.
       covOptional,          // Range.
       covOptional,          // OutputFileName.
       covOptional,          // From.
       covOptional,          // To.
       covOptional,          // Item.
       COleVariant((long)2),  // Copies.
       covOptional,          // Pages.
       covOptional,          // PageType.
       covOptional,          // PrintToFile.
       covOptional,          // Collate.
       covOptional,          // ActivePrinterMacGX.
       covOptional,          // ManualDuplexPrint.
       covOptional,          // PrintZoomColumn  New with Word 2002
       covOptional,          // PrintZoomRow          ditto
       covOptional,          // PrintZoomPaperWidth   ditto
       covOptional   // PrintZoomPaperHeight  ditto
       );

 

3. VC打印Excel

调用shellprint函数:

ShellExecute(NULL,"print","c://temp//test.txt",NULL,NULL,SW_HIDE);

需要注意的是,机器上已经装了打印机。打印输出会送到默认打印机。另外,shellExcute还可以用来打印excelword,替换相应的文件名就可以了。

ShellExecute(NULL,"print","c://temp//test.xls",NULL,NULL,SW_HIDE);

ShellExecute(NULL,"print","c://temp//test.doc",NULL,NULL,SW_HIDE);

原创粉丝点击