C#剪贴板帮助

我正在将一个Excel文件的内容复制到我编写的程序中的剪贴板上。 然后,我可以在内存中使用这些数据,而不是和Excel一直“聊天”。

完成数据后,我将调用一个清理方法,先调用Clipboard.Clear(),然后closures所有Excel工作表/工作簿/应用程序等。

问题是,即使在closuresExcel工作表之前清除了剪贴板,我仍然popup一个窗口,指出剪贴板上有大量的数据。 有人知道为什么?

谢谢,

达伦。

不知道为什么会发生,但你有没有尝试设置_Application.DisplayAlerts = false; ( MSDN ),然后closures工作表以查看是否阻止警告消息?

您可以尝试设置Excel CutCopyMode属性来取消当前的复制信息:

 Application.CutCopyMode = false; 

另一个想法是将剪贴板设置为String.Empty以便复制的数据量足够小,从而绕过警告popup窗口。 这可能必须从Excel工作表中完成,而不是常规剪贴板(即,从Excel中的活动工作表中复制单元格)。

也许你可以使用

Application.CutCopyMode = false;

http://msdn.microsoft.com/en-us/library/ff839532.aspx

那么最后,请尝试复制剪贴板中的空string,并将其保留,然后Excel可能不会给出任何警告。 但是使用Excel API将空string复制到剪贴板中。