我的目的主要是想将一篇word文档打印成pdf文件,但是操作后老是在printout函数处报错,说“类型不支持”,不知道出于什么原因,大家有什么好建议吗?谢谢
解决方案 »
- 继承之后怎样屏蔽父类的成员函数?
- 请问自能不能在cmd中调用一个程序并传递参数进去让程序执行?
- 不知道是我不懂,还是被忽悠了,还是小伙子真的没折腾过电脑
- 新手初试MFC
- 帮忙一下 你们也可以挑战一下这个问题
- <<window核心编程>>中22章的例子LastMsgBoxInfo为何在winxp中文版本会出现堆栈溢出的错误?
- 谁帮我注释一下,进公司的第一个工作
- 求一个奇怪的计算公式或算法:
- 如何建立一个链表,其中的元素也是链表
- :知道ESRI中的SHAPE文件吗,其中有一个*.dbf文件,我想在VC中用ADO访问,请问如何下手?
- vc中的DBGrid控件为什么只有两列?如何加其他的列?
- 请问用MAPI发邮件如何能够实现邮件群发?
#import "E:\Program Files\Microsoft Office\Office10\MSWORD.OLB" named_guids raw_interfaces_only rename("ExitWindows", "wordExitWindows")
void wordprint()
{
Word::_ApplicationPtr app;
app.CreateInstance("Word.Application");
Word::DocumentsPtr docs;
app->get_Documents(&docs);
Word::_DocumentPtr doc;
_variant_t vFileName("c:\\a.doc");
_variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
_variant_t vTrue(VARIANT_TRUE);
_variant_t vFalse(VARIANT_FALSE);
docs->Open (
/*[in]*/&vFileName,
/*[in] VARIANT * ConfirmConversions*/&vOptional,
/*[in] VARIANT * ReadOnly*/&vOptional,
/*[in] VARIANT * AddToRecentFiles*/&vOptional,
/*[in] VARIANT * PasswordDocument*/&vOptional,
/*[in] VARIANT * PasswordTemplate*/&vOptional,
/*[in] VARIANT * Revert*/&vOptional,
/*[in] VARIANT * WritePasswordDocument*/&vOptional,
/*[in] VARIANT * WritePasswordTemplate*/&vOptional,
/*[in] VARIANT * Format*/&vOptional,
/*[in] VARIANT * Encoding*/&vOptional,
/*[in] VARIANT * Visible*/&vOptional,
/*[in] VARIANT * OpenAndRepair*/&vOptional,
/*[in] VARIANT * DocumentDirection*/&vOptional,
/*[in] VARIANT * NoEncodingDialog*/&vOptional,
/*[out,retval]*/ &doc );
_variant_t vCopies((short)1);
app->PrintOut (
/*[in] VARIANT * Background = &vtMissing*/ &vTrue ,
/*[in] VARIANT * Append = &vtMissing*/&vOptional ,
/*[in] VARIANT * Range = &vtMissing*/ &vOptional ,
/*[in] VARIANT * OutputFileName = &vtMissing*/&vOptional ,
/*[in] VARIANT * From = &vtMissing*/ &vOptional,
/*[in] VARIANT * To = &vtMissing*/ &vOptional,
/*[in] VARIANT * Item = &vtMissing*/ &vOptional,
/*[in] VARIANT * Copies = &vtMissing*/&vCopies ,
/*[in] VARIANT * Pages = &vtMissing*/ &vOptional,
/*[in] VARIANT * PageType = &vtMissing*/&vOptional ,
/*[in] VARIANT * PrintToFile = &vtMissing*/ &vFalse,
/*[in] VARIANT * Collate = &vtMissing*/ &vOptional,
/*[in] VARIANT * FileName = &vtMissing*/ &vOptional,
/*[in] VARIANT * ActivePrinterMacGX = &vtMissing*/ &vOptional,
/*[in] VARIANT * ManualDuplexPrint = &vtMissing*/&vOptional ,
/*[in] VARIANT * PrintZoomColumn = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomRow = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomPaperWidth = &vtMissing*/ &vOptional,
/*[in] VARIANT * PrintZoomPaperHeight = &vtMissing*/ &vOptional) ;
Sleep(3000);
app->Quit(&vOptional,&vOptional,&vOptional);}
int _tmain(int argc, _TCHAR* argv[])
{
printf("Automate word to print a document, test by masterz with VC.NET2003 on WindowXP, OfficeXP\n");
CoInitialize(NULL);
wordprint();
CoUninitialize();
return 0;
}
1。_variant_t vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
DISP_E_PARAMNOTFOUND这个参数是表示什么呢?我在什么地方可以查到,谢谢
2。/*[in] VARIANT * OutputFileName = &vtMissing*/&vOptional ,
假如我将这个参数设定默认的文件名的话,打印会出现问题,即生成的pdf文件出错。谢谢指教!