在VSTO加载时保留剪贴板

The*_*nin 6 c# excel clipboard vsto

我编写了一个小应用程序作为测试,以查看Excel VSTO的功能.但是,我遇到了一个问题.

当我启动Excel时,我的剪贴板被清除.我通过谷歌追踪这个问题是加载项(特别是COM加载项)的问题,如果未正确初始化将自动清除剪贴板.对我来说不幸的是,我不知道如何在VSTO中保留剪贴板,谷歌也没什么帮助.我没有调用任何明显清除剪贴板的功能.ThisAddin函数中唯一的东西是if/else块,它从一些属性读取并设置一些标志.

我仔细研究了将剪贴板上的数据复制到某个对象的想法,然后只是替换它,但这看起来非常h​​acky,可能无法正常工作.

任何人都可以了解我的VSTO在Excel启动时如何/为何清除剪贴板以及如何解决它?

编辑:

在进行了更深入的跟踪之后我认为它是我的测试加载项是错误的.我发现它是Team Add-In或Adobe Contribute.考虑到Adobe对这些事情的记录,我会继续说它可能是贡献加载项.谢谢各位的回应.这将教我使用Excel的非vanilla安装进行VSTO练习.

我将打开此主题,以便更多人可以为VSTO Excel加载项(或办公套件的任何加载项)在启动时清除剪贴板的可能原因做出贡献.

Chr*_*ton 0

当存在复杂的数据类型时,尝试备份/恢复剪贴板是愚蠢的。并且您将生成不需要的剪贴板事件。请参阅我之前的答案: https ://stackoverflow.com/a/2579846/289135