请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

BossONE

注册会员

13

主题

28

帖子

95

积分

注册会员

积分
95
BossONE
注册会员   /  发表于:2025-4-24 10:58  /   查看:91  /  回复:6
1金币
// 监听操作
                let cm = spread.commandManager();
                cm.addListener('myListener', onCommandExecute);
                function onCommandExecute(args) {
                        console.log("操作",args);
                }

我从上面的代码监听到 cmd:"clipboardPaste" 的操作,但是拿不到到对应的CopyToOptions值
image.png260491027.png image.png385812072.png 里面的pasteOption对不上sheet.copyTo的粘贴项。

最佳答案

查看完整内容

您好,我给您解释一下这块怎么理解: CopyToOptions copyToOptions中包含很多选项,这些选项不是说只能选择其中一个,而是可以共存的 比方说,value的值是1,tag是128,如果您希望同时保留value和tag,就可以这样写: 中间用或符号“|”连接即可,它的值是129,但二者不是相加的关系,而是二进制中的或。 了解了这个概念后,您就可以自行任意组装想要复制的内容了,比方说同时复制值、样式和tag,就可以这样操作: ...

6 个回复

倒序浏览
最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-4-24 10:58:32
来自 6#
本帖最后由 Matthew.Xue 于 2025-4-29 16:30 编辑

您好,我给您解释一下这块怎么理解:
CopyToOptions
copyToOptions中包含很多选项,这些选项不是说只能选择其中一个,而是可以共存的
image.png719991454.png

比方说,value的值是1,tag是128,如果您希望同时保留value和tag,就可以这样写:
  1. GC.Spread.Sheets.CopyToOptions.value | GC.Spread.Sheets.CopyToOptions.tag
复制代码
中间用或符号“|”连接即可,它的值是129,但二者不是相加的关系,而是二进制中的或。
image.png61210021.png


了解了这个概念后,您就可以自行任意组装想要复制的内容了,比方说同时复制值、样式和tag,就可以这样操作:
image.png72237547.png


回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-24 14:33:39
2#
您好!您需要判断粘贴类型做进一步操作吗?那您需要关心哪些粘贴选项呢?

如果您的操作方式是使用右键菜单中的“选择性粘贴”,如下图所示:
1745474554295.png799873046.png

spread.commandManager().addListener()对上述粘贴选项监听到的pasteOption参数值如下表所示:
1745475058839.png53656920.png

上述参数也是ClipboardPasted事件对粘贴完成时监听到的pasteOption参数值。如果您需要对比右键菜单中的选择性粘贴各选项,可以参考上述pasteOption。如果您通过Worksheet:copyTo()复制粘贴指定类型CopyToOptions类型,事件无法监听到这个代码行为,您可以在代码调用处加上对特定粘贴类型的业务处理逻辑。

如果上述内容不能满足您的需求,您可以详细介绍下您的需求,咱们讨论下。
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2025-4-24 15:28:18
3#
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-28 10:40:02
4#
您好!请教下您的问题解决的怎么样了?
回复 使用道具 举报
BossONE
注册会员   /  发表于:2025-4-29 15:32:15
5#
Wilson.Zhang 发表于 2025-4-28 10:40
您好!请教下您的问题解决的怎么样了?

image.png408622435.png 目前我是这样对应的,但是不知道后面会不会遇到什么问题,而且这个也不全
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-29 16:32:14
7#
BossONE 发表于 2025-4-29 15:32
目前我是这样对应的,但是不知道后面会不会遇到什么问题,而且这个也不全

您好!回到您最初的提问,是想要在ClipboardPasted事件中识别pasteOption属性值代表的复制粘贴类型,该属性值其实是ClipboardPasteOptions枚举值,也就是Ellia版主在3楼给您提供的API链接。您可以监听ClipboardPasted事件,并使用右键菜单中的选择性粘贴功能依次粘贴,会发现触发的事件监听到的pasteOption值与ClipboardPasteOption枚举值一一对应。

所以,这里不需要与CopyToOptions枚举值做映射,正确的对照关系是ClipboardPasteOption。

同时呢,Matthew版主在6楼给您提供的关于CopyToOptions的使用方式可以在您使用Worksheet:copyTo()复制粘贴时指定粘贴类型,该类型与ClipboardPasteOptions并不一一对应,是两种复制粘贴支持方式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部