0

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

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

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

知道 Office 为什么要花时间粘贴这些新数据吗?

4

1 回答 1

0

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

于 2010-09-24T20:15:42.250 回答