как использовать xlset в Excel xll
#define rgFuncsRows 1 #define rgArguments 11 static LPSTR rgFuncs[rgFuncsRows][rgArguments] = { // function title, argument types, function name, arg names, type (1=func,2=cmd), // group name (func wizard), hotkey, help ID, func help string, (repeat) argument help strings {" AccChk", " RRR", " AccChk", " loper,roper", " 2", " 对账插件", " ", " ", " 对比loper和roper,将loper在roper中不存在的作为结果", " 目标列", " 对比列 " } };
и я регистрирую эту функцию вот так:
Excel4v( xlfRegister, &xConfirm, j+1, (LPXLOPER FAR *) &pParas[0] );
эта функция определена здесь :
XLLFIN_API LPXLOPER AccChk( LPXLOPER ld,LPXLOPER rc ) { XLOPER12 xRef, xValue; xRef.xltype = xltypeSRef; xRef.val.sref.count = 1; xRef.val.sref.ref.rwFirst = 2; xRef.val.sref.ref.rwLast = 5; xRef.val.sref.ref.colFirst = 5; xRef.val.sref.ref.colLast = 7; xValue.xltype = xltypeNum; xValue.val.num = 323; int rv = Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue); return NULL; }
а в excel 2010 я вставляю лист макросов MS Excel 4.0 ,выбираю ячейку и редактирую ее funtion =AccChk(A1:A9,B1:B7), но функция не работает, требуемая область прямоугольника пуста.Моя цель-записать массив значений в рабочий лист excel или лист макросов,что мне делать?Спасибо за вашу помощь!