我遇到了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'});
..但我只能达到这个目的:
???使用==>错误comeventcallback(在线....) 将事件'SheetChange'触发到MainFunction(@subfunctionSheetChange)
时出错
我该如何解决?请帮帮我
答案 0 :(得分:1)
来自docs:
eventhandler参数可以是指定事件处理函数名称的字符串,也可以是映射到该函数的函数句柄。
你好像把function-handle和函数名混合成了两个都不是的字符串。 你应该能够使用函数句柄:
% 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'});