- 使用COleVariant 传递基本数据类型
COleVariant vTrue(TRUE,VT_BOOL);
COleVariant vFalse(FALSE,VT_BOOL);
错误用法,导致构造函数版本不明确.
COleVariant::COleVariant(long,VARTYPE)
COleVariant::COleVariant(short,VARTYPE)
正确用用法,COleVariant opt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
COleVariant vFileName((LPCTSTR)pszFilePath);
- 使用COleVariant 传递 特殊的参数
COleVariant vOpt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);//代表可选参数
http://msdn.microsoft.com/en-us/library/bb221597(v=office.12).aspx
msdn的一个例子,expression.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks,AllowSubstitutions, LineEnding, AddBiDiMarks)
所有参数都是可选项, 不能够使用c++ 中的默认参数的调用方式,需要:
COleVariant opt((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
doc.SaveAs( &FileName, &FileFormat,opt , opt,\
opt, opt,opt , \
opt, opt,opt,\
opt, opt,opt ,opt, \
opt,opt);这样调用才行.