如何调用一个带有可选参数
编号:QA003840
建立日期: 2001年2月5日 最后修改日期:2001年2月5日
所属类别:
abourabour:
在VC++6.0中关于运用OLE AUTOMATION 读取EXCEL的工作簿。
我在VC++6.0中用OLE AUTOMATION对EXCEL 2000的文件进行操作,用到WORKBOOKS对象的Open方法,目的是能够打开EXCEL的工作簿文件,对其进行处理. 但Open方法的参数太多,而VC要求这些参数都须赋值,但我却不知如何设置这些参数。希望您不吝赐教。
workbooks的Open方法的原型为:
//Open的函数原型.
//Open(LPCTSTR Filename, const VARIANT& UpdateLinks, const VARIANT& ReadOnly, const VARIANT& Format,
//const VARIANT& Password, const VARIANT& WriteResPassword, const VARIANT& IgnoreReadOnlyRecommended,
//const VARIANT& Origin, const VARIANT& Delimiter, const VARIANT& Editable, const VARIANT& Notify,
//const VARIANT& Converter, const VARIANT& AddToMru)
workbook = workbooks.Open("C:\\My documents\\e.xls",);
workbook = workbooks.Open("C:\\My Documents\\e.xls",COleVariant(TRUE),COL
workbook=workbooks.Open("C:\\My Documents\\e.xls",COleVariant((BYTE) 0),
COleVariant((BYTE)0), (COleVariant)((BYTE)-4143), (COleVariant)(LPCTSTR)"",
(COleVariant)(LPCTSTR)"", (COleVariant)((BYTE) 0),
(COleVariant)(BYTE) 0, (COleVariant)((BYTE) 0),(COleVariant)((BYTE) 0),
(COleVariant)(BYTE)0, (COleVariant)(BYTE)0,(COleVariant)(LPCTSTR)(BYTE)0 );
/* workbooks.Open()的参数很多,而我只希望能打开并操作一个文件, 除了文件名外,其它
使我无可奈何... */
回答:
你可以这样:
VARIANT varOpt;
varOpt.vt = VT_ERROR;
varOpt.scode = DISP_E_PARAMNOTFOUND;
然后把varOpt作为可选参数传递给Open方法。这实际就是VB在幕后做的事。不过VC++不支持VB的命名参数调用。
此问题由李海回答。
| |
|
|
| |
|
|