因工作上的原因,搜集了一些这方面的资料。深感搜集到这些资料的不易,因此拿出来和大家分享,希望能帮到大家一点点。
1. Vc打印Excel:
关于VC如何打开一个excel,这方面的资料很多了,一般用的是OLE Avtive Control/假设当你打开了一个excel文件,并获得了它的
workbook的handle,相应的接口为:
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:
调用shell的print函数:
ShellExecute(NULL,"print","c://temp//test.txt",NULL,NULL,SW_HIDE);
需要注意的是,机器上已经装了打印机。打印输出会送到默认打印机。另外,shellExcute还可以用来打印excel和word,替换相应的文件名就可以了。
ShellExecute(NULL,"print","c://temp//test.xls",NULL,NULL,SW_HIDE);
ShellExecute(NULL,"print","c://temp//test.doc",NULL,NULL,SW_HIDE);