用vc操作excel,调用虚拟打印机doPDF v6打印excel文件。不过,打印的时候,老是出现打印出错的提示。但是通过excel的菜单来打印没什么问题。是不是我设置PrintOut的参数出错了?
代码如下:
COleVariant covTrue((short)TRUE), covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if (!m_ExcelApp.CreateDispatch("Excel.Application"))
{
AfxMessageBox("officeȱÉÙExcel×é¼þ£¡",MB_OK|MB_ICONERROR);
return false;
}
m_ExcelBooks = m_ExcelApp.GetWorkbooks();
m_ExcelBooks.Open(lpFilePath,covFalse,covTrue,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
m_ExcelBook = m_ExcelApp.GetActiveWorkbook();
m_ExcelBook.PrintOut(covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
m_ExcelBook.Close(covFalse,varFilePath,covOptional);
大家帮帮忙吧,好急啊!
代码如下:
COleVariant covTrue((short)TRUE), covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
if (!m_ExcelApp.CreateDispatch("Excel.Application"))
{
AfxMessageBox("officeȱÉÙExcel×é¼þ£¡",MB_OK|MB_ICONERROR);
return false;
}
m_ExcelBooks = m_ExcelApp.GetWorkbooks();
m_ExcelBooks.Open(lpFilePath,covFalse,covTrue,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
m_ExcelBook = m_ExcelApp.GetActiveWorkbook();
m_ExcelBook.PrintOut(covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
m_ExcelBook.Close(covFalse,varFilePath,covOptional);
大家帮帮忙吧,好急啊!
而你的PrintOut没有提供正确的参数(PrintToFile,ActivePrinter)要设置正确
PrintOut(const VARIANT& From, const VARIANT& To, const VARIANT& Copies, const VARIANT& Preview, const VARIANT& ActivePrinter, const VARIANT& PrintToFile, const VARIANT& Collate, const VARIANT& PrToFileName)
你把 VARIANT& ActivePrinter 这个参数指定一个打印机的名字;在试试看!
if (!m_ExcelApp.CreateDispatch("Excel.Application"))
{
AfxMessageBox("officeȱÉÙExcel×é¼þ£¡",MB_OK|MB_ICONERROR);
return false;
}
m_ExcelBooks = m_ExcelApp.GetWorkbooks(); ExcelBook = m_ExcelBooks.Open
(lpFilePath,covFalse,covTrue,covOptional,covOptional,covOptional,
vOptional,covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
/*
m_ExcelBook = m_ExcelApp.GetActiveWorkbook();
*/
m_ExcelBook.PrintOut(covOptional,covOptional,covOptional,covOptional,covOptional,
covOptional,covOptional,covOptional);
m_ExcelBook.Close(covFalse,varFilePath,covOptional);你在这么试试!我是这么做的!我这没问题!!不知道你的office 是哪个版本!Open 会返回一个ExcelBook 可能需要转换一下
如果是通过网络打印,也许是打印机驱动或网络连接有误。
也许是电缆松动,或者主机与打印机连接不正常”