当我复制某些内容并退出软件(excel 或 word,也可能是其他软件)时,我会收到一条警报,询问我是否要保留或删除剪贴板的内容,因为它太大了。这种模式警报一次又一次地让我烦恼,这是禁用它的一种方法吗?
因为,如果我在剪贴板中复制某些内容,是的,我希望它保留在剪贴板中。
答案1
据我所知,没有办法阻止此警告,因为微软不希望您意外丢失数据(例如,在将某些文本粘贴到另一个程序之前关闭 Word)。
这只是由于 Windows 剪贴板的工作方式。当您复制和粘贴内容时,对于现代程序,原始应用程序在尝试插入您复制的内容时可能仍会与目标应用程序交互。这就是您能够在 Web 浏览器中复制文本并将其作为 HTML 格式的文本插入 Word 文档中的方式(正好相反)。
虽然 Windows 剪贴板本身支持几种不同的媒体格式,但像这样的技术允许开发人员扩展可能性。
如果您不想出现警告,只需在关闭程序之前复制并粘贴内容,然后复制一些小内容(例如单词或单元格),您就不会收到该消息。或者,您可以打开剪贴板面板(单击插入功能区上剪贴板部分右下角的箭头)并在关闭之前删除片段。
您可以使用宏自动执行此操作,如此处所述,尽管我并不推荐这样做,因为迟早你会丢失你想要保留的文本或格式。
'Events: http://msdn.microsoft.com/en-us/library/bb208800.aspx
Sub AutoExit()
ClearClipboard
End Sub
Sub ClearClipboard()
Dim MyData As Object
' source: http://akihitoyamashiro.com/en/VBA/LateBindingDataObject.htm
Set MyData = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
MyData.SetText ""
MyData.PutInClipboard
Set MyData = Nothing
End Sub