跨spread的话无法通过事件获取复制区域单元格信息。
有个思路您可以参考下,自定义命令获取选择(复制)区域,然后将此命令绑定至ctrl+c快捷键,对复制区域进行记录。
下为示例代码,您可以参考下:
- var command = {
- canUndo: false,
- execute: function (context, options, isUndo) {
- var Commands = GC.Spread.Sheets.Commands;
- if (isUndo) {
- Commands.undoTransaction(context, options);
- return true;
- } else {
- Commands.startTransaction(context, options);
- console.log("do sth");
- var selections = sheet.getSelections();
- // 根据selections可获取到选择(复制区域)的单元格区域信息,可以保存便于后续使用
- Commands.endTransaction(context, options);
- return true;
- }
- }
- };
- spread.commandManager().register("myCopy", command);
- spread.commandManager().setShortcutKey("myCopy", GC.Spread.Commands.Key.c, true, false, false, false);
复制代码 另,关于您题目中描述的问题,这边经多场景尝试仍未复现,
为了更快解决您的问题,建议您提供一个可复现demo,这边在代码基础上调研下问题原因。
|