v17单元格选中多个区域时如何获取当前选中的多个区域
单元格选中多个区域时如何获取当前选中的多个区域第一个图片是选中区域后按Ctrl键继续选其他区域,那么如何获取到此时sheet中选中的所有区域呢?并且如何区分选完当前区域后更换其他选区 与 选完当前区域后继续Ctrl添加选区,
目前的selectchanged事件只能拿到最新选区,而得不到所有选区
本帖最后由 Wilson.Zhang 于 2024-12-5 14:27 编辑
您好!可以通过Worksheet:getSelections()获取当前sheet中所有被选中的区域,返回结果是一个数组,如下图所示:
而且,通过SelectionChanged事件也能监听到所有被选中的区域,该事件会将区域变化前的旧区域和变换后的新区域分别记录在属性oldSelections和newSelections中,newSelections中记录了当前的所有选中区域,如下图所示:
正如您所说的,newSelections记录的是当前选中的所有区域。通过对比oldSelections和newSelections中的区域,即可得到最新添加的区域。
Wilson.Zhang 发表于 2024-12-5 14:16
您好!可以通过Worksheet:getSelections()获取当前sheet中所有被选中的区域,返回结果是一个数组,如下图所 ...
selectionchanged记录的新旧信息是什么规则呢,这边获取到的信息很奇怪哎
第一次选区时没有获取到区域,只有一个单元格
后边的增加选区,new和old的值是同步的,拿不到最新的选区,比如说最后选了三个区 但是拿到的数组只有前两个
王五子 发表于 2024-12-5 15:06
selectionchanged记录的新旧信息是什么规则呢,这边获取到的信息很奇怪哎
如果每次在当前选区的右侧增加一列新选区,那么,每次SelectionChanged事件监听到的newSelections总是比oldSelections多一个区,且除此之外的其他区都一致。
参考您提供的信息,我在17.1.9版本和最新17.1.10版本测试均未能复现您图示中的问题,如下动图所示。请教下您使用的版本号,以及您的具体操作方式。
Wilson.Zhang 发表于 2024-12-5 15:51
如果每次在当前选区的右侧增加一列新选区,那么,每次SelectionChanged事件监听到的newSelections总是比o ...
找到问题了,感谢感谢 王五子 发表于 2024-12-5 16:30
找到问题了,感谢感谢
不客气,请教下是操作方式影响的吗? Wilson.Zhang 发表于 2024-12-5 16:32
不客气,请教下是操作方式影响的吗?
是的 王五子 发表于 2024-12-8 16:46
是的
解决了就好,那就结贴了。如有新问题,欢迎发新帖沟通。
页:
[1]