调用虚拟打印机打印excel文档遇到的问题

ding1188 2009-10-26 02:28:07
用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);


大家帮帮忙吧,好急啊!
...全文
372 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztj2005 2011-04-20
  • 打赏
  • 举报
回复
看这里:

http://support.microsoft.com/kb/216026/zh-cn

http://support.microsoft.com/kb/162239
Pengc_w 2009-10-30
  • 打赏
  • 举报
回复
那你现在怎么解决的!!拿出来给大家分享吓,免得以后遇到同样的问题!
ding1188 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pengc_w 的回复:]
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  可能需要转换一下
[/Quote]
还是不行,问题依旧,我用的office2003
ding1188 2009-10-27
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pengc_w 的回复:]
是打印文档的时候!右下角托盘图标那里 打印的时候弹出来说打印出错吗??
[/Quote]
不是右下角的打印机图标提示错误,而是弹出个对话框,上门写着“文件无法打印,在doPDF v6 在v6上发生错误,可能有以下原因引起:内存不足。请关闭其他程序。
如果是通过网络打印,也许是打印机驱动或网络连接有误。
也许是电缆松动,或者主机与打印机连接不正常”
Pengc_w 2009-10-27
  • 打赏
  • 举报
回复

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 可能需要转换一下
Pengc_w 2009-10-27
  • 打赏
  • 举报
回复
那就用你现在的代码,只是设置另一个默认的打印机!看看能不能正常;
Pengc_w 2009-10-26
  • 打赏
  • 举报
回复
是打印文档的时候!右下角托盘图标那里 打印的时候弹出来说打印出错吗??
ding1188 2009-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qimiao77 的回复:]
你的PDF打印机是要打印到文件,
而你的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)
[/Quote]
我刚开始已近设置好默认打印机了
liumenghappy 2009-10-26
  • 打赏
  • 举报
回复
帮顶
Pengc_w 2009-10-26
  • 打赏
  • 举报
回复
我这段时间也在研究这个!
你把 VARIANT& ActivePrinter 这个参数指定一个打印机的名字;在试试看!
贪玩的老鼠 2009-10-26
  • 打赏
  • 举报
回复
你的PDF打印机是要打印到文件,
而你的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)
雪影 2009-10-26
  • 打赏
  • 举报
回复
没做过这个,帮顶吧。

出现什么错误提示了?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧