Office剪贴板需要时间来显示更改

时间:2010-09-24 13:38:16

标签: excel ms-office clipboard idataobject

我在Excel中面临一个非常奇怪的问题。我已经覆盖了CTRL + C和CTRL + V键,在复制时,我将自定义DataObject放在包含Excel格式和自定义格式的剪贴板上。

我将我的数据复制到剪贴板,它被复制没有任何问题。我也可以在Office剪贴板中看到它。现在我从Excel外部(从记事本)复制一些文本并尝试将其粘贴到Excel中,但Excel粘贴我从Excel工作表复制的先前数据。我使用Worksheet.Paste(...)方法粘贴。

粘贴多次后,Excel会开始粘贴新数据,但不会修复。有时我根本看不到新数据,尽管Windows剪贴板查看器和Office剪贴板都会在我从记事本中复制后立即显示新数据。

为什么Office需要时间来粘贴这些新数据?

1 个答案:

答案 0 :(得分:0)

Excel宁愿粘贴自己的内部缓冲区而不是剪贴板,因此只有在有理由相信它已经改变时才会查看剪贴板。如果您干扰剪贴板通知链,它可能不知道更新。或者它只能在丢失/获得焦点时检查剪贴板更新。即如果Excel仍然具有焦点并且您的附加组件在后台将某些内容复制到剪贴板,则没有理由认为它需要查看剪贴板。