怎么复制excel某个区域的完整内容到剪贴板,并可供下次粘贴使用

随便聊聊 · 721 次浏览
湘喑 创建于 2023-06-07 16:58

想要实现的功能:复制工作表某个区域后,获取复制的内容赋值给一个变量,并将他作为状态使用,下次我可以调用这个变量将它写入到剪贴板,然后在表格中粘贴,粘贴出来的内容要和之前复制的内容一样,包括单元格颜色、字体、字体大小、颜色及单元格内的公式。

我试过了复制后使用”获取剪贴板文本“,然后文本数据格式选择Html,可以保留颜色字体这些信息,但后面将它放入剪贴板粘贴出来后,如果单元格原来是公式则只能粘贴出来值。有办法实现粘贴出来仍然是公式么


回复内容
臭冬瓜 2023-06-07 18:34
#1

我尝试用剪贴板软件跟踪复制EXCEL单元格的内容,发现复制到剪贴板的时候,如果是公式,复制的已经是计算结果,并不是公式。所以,我想用复制到剪贴板后再粘贴的方法实现不了需求。

我觉得在EXCEL模拟 ^C 和 ^V 应该可以做到,或者使用VBA用 .Copy 后再使用粘贴剪贴板的内容好像可以保留公式。

PS:这个楼主大佬比我精通多了,有点班门弄斧了:)

臭冬瓜 最后更新于 2023-06-07 18:53
湘喑 回复 臭冬瓜 2023-06-08 10:45 :

我就是用代码复制到剪贴板然后用Quicker从剪贴板获取复制内容的,赋值给变量粘贴出来就不行了,有空我试下用那个剪贴板查看工具看下WPS复制的到底是什么格式的

臭冬瓜 回复 湘喑 2023-06-08 10:49 :

根据CL老师的测试,我觉得可以在剪贴板获得复制内容的时候,选择自定义格式,名称是XML Spreedsheet试试,看了一下XML里面含有文字的格式,也保留了公式。

CL 2023-06-07 20:34
#2

在Excel中复制一个区域之后,可以看到剪贴板里增加了非常多的格式。

我感觉这个XML Spreedsheet可能可以用来恢复更多的信息,有兴趣可以测试下看看。

FreeClipboardViewer 网址:https://freeclipboardviewer.com/ 

测试动作:https://getquicker.net/Sharedaction?code=eda4c48a-75f5-4e35-aa75-08db66a6be43 (测试可实现带公式粘贴,格式未做测试)


CL 最后更新于 2023-06-07 20:42
臭冬瓜 回复 CL 2023-06-07 22:31 :

晕,我用的就是这个公司的另外一款产品Clipboard History,还是收费的,竟然没有你这个看到类型多。XML看代码,使用的是Formula保留公式,VBA也有这个属性。

回复主贴