Как отключить оповещение "слишком много вещей в буфере обмена"
Когда я копирую что-то и закрываю программное обеспечение (Excel или Word и, возможно, другие), у меня появляется предупреждение, спрашивающее, хочу ли я сохранить или удалить содержимое буфера обмена, потому что оно слишком большое. Раз за разом это модальное предупреждение раздражает меня, это способ его отключить?
Потому что, если я скопирую что-нибудь в буфер обмена, ДА, я хочу, чтобы это осталось в буфере обмена.
1 ответ
Насколько мне известно, нет способа предотвратить это предупреждение, потому что Microsoft не хочет, чтобы вы потеряли свои данные случайно (например, закрыв Word перед вставкой текста в другую программу).
Это просто из-за того, как работает буфер обмена Windows. Когда вы копируете и вставляете вещи, для современных программ исходное приложение может по-прежнему взаимодействовать с целевым приложением при попытке вставить то, что вы скопировали. Вот как вы можете копировать текст в веб-браузере и вставлять его, например, как текст в формате 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