1

我对 activex owc11.Spreadsheet.11 有疑问。

在我的 Matlab 脚本中,我声明了 activex:

CONTROL='OWC11.SPREADSHEET.11';
positions=[10,10,10,10];
handles.activex1=actxcontrol(CONTROL,[positions], myFigHandle);

我想控制一些事件,如“SheetChange”和“EndEdit”,将它们与子功能(@subfunctionSheetChange、@subfunctionEndEdit)相关联。

我尝试使用此代码:

handles.activex1.registerevents({'SheetChange', '@subfunctionSheetChange'});
handles.activex1.registerevents({'EndEdit', '@subfunctionEndEdit'});

..但我只达到这个结果:

???Error using ==> comeventcallback (at line....) 错误触发事件'SheetChange'到 MainFunction(@subfunctionSheetChange)

我该如何解决?请帮我

4

1 回答 1

1

文档

eventhandler 参数可以是指定事件处理函数名称的字符串,也可以是映射到该函数的函数句柄。

您似乎已将函数句柄和函数名混合为两者都不是的字符串。您应该能够使用函数句柄:

% function-handles - not strings:
handles.activex1.registerevents({'SheetChange', @subfunctionSheetChange});
handles.activex1.registerevents({'EndEdit', @subfunctionEndEdit});

或函数名:

% mind: no "@"-prefix
handles.activex1.registerevents({'SheetChange', 'subfunctionSheetChange'});
handles.activex1.registerevents({'EndEdit', 'subfunctionEndEdit'});
于 2013-11-12T12:20:39.720 回答