为什么针对office Excel的粘贴会引起剪贴板变化

异常报告 · 1099 次浏览
夜空·青蔷薇 创建于 2023-08-30 09:35

我在Excel中复制的时候“事件触发-剪贴板内容变化”确实起效了,但为什么Excel中的粘贴(Ctrl+V)也会触发“事件触发-剪贴板内容变化”
事件设置如下


我使用微软自带的剪贴板历史记录(Win+V)观测Excel粘贴的操作的时候,微软剪贴板都没发现剪贴板有变化,不知道Quicker的剪贴板监听机制是如何实现的。
请问“事件触发-剪贴板内容变化”能否不监听Excel中粘贴操作
我的Excel版本是企业版office365,Quicker版本是1.39.11


回复内容
CL 2023-08-30 09:48
#1

底层有一个编号,如果这个编号变了,说明剪贴板发生了变化。

如果在其它软件里没有这个现象,说明这个可能是Excel做了什么事情,可以使用FreeClipboardViewer这个程序看看剪贴板内容是否发生了改变。

等找时间我也试一下看看。

夜空·青蔷薇 回复 CL 2023-08-30 13:00 :

其他软件目前没看到这样的现象,用FreeClipboardViewer稍微看了下,确实会在粘贴的时候内容会有变化,又稍微看了下微软自带的剪贴板历史记录(Win+V),似乎在单元格内容如果文字一样的情况下监听不出区别,比如两个单元格,一个写1(加粗)一个写1(无变化),都各复制一下的话,无法监听出两行。但是Cea大佬开发的'剪贴板'可以,而且不会监听到Excel的粘贴行为,有没有可能借鉴一下Cea的剪贴板,那好像是他自己写的程序实现的。

夜空·青蔷薇 回复 CL 2023-08-30 13:00 :


夜空·青蔷薇 最后更新于 2023-08-30 13:01
CL 回复 夜空·青蔷薇 2023-09-01 22:07 :

剪贴板工具会持续记录上一次复制的内容,有新内容的时候会做对比,如果一样了就不会添加一条新的记录。 目前事件触发只是变化通知触发,不会主动检测和记录剪贴板里的内容(比较耗费性能和时间,也影响后续对剪贴板的访问),所以也没法过滤掉目前的这种情况。

你这里是通过事件触发什么样的处理呢? 这里excel的额外通知,目前是造成了什么样的影响?

夜空·青蔷薇 回复 CL 2023-09-06 16:40 :

我做了一个简单的弹窗来提示我剪贴板有变化,但是因为粘贴也会触发事件,导致弹窗会频繁出现,影响视觉效果。倒是没有什么实质的影响。

回复主贴