Как отключить оповещение «слишком много вещей в буфере обмена»

272
FredericP

Когда я что-то копирую и закрываю программное обеспечение (Excel или Word и, возможно, другие), у меня появляется предупреждение, спрашивающее, хочу ли я сохранить или удалить содержимое буфера обмена, потому что оно слишком большое. Раз за разом это модальное предупреждение раздражает меня, это способ его отключить?

Потому что, если я скопирую что-нибудь в буфер обмена, ДА, я хочу, чтобы это осталось в буфере обмена.

0

1 ответ на вопрос

2
Mario

Насколько мне известно, нет способа предотвратить это предупреждение, потому что 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:") MyData.SetText "" MyData.PutInClipboard Set MyData = Nothing End Sub 
Ваше объяснение великолепно! Однако макрос делает только противоположное тому, что запрашивается в вопросе, ему нужно сохранить содержимое буфера обмена, а не очистить его. Máté Juhász 7 лет назад 1
@ MátéJuhász Не уверен насчет этого. Для меня это звучало так, как будто копирование уже было сделано в тот момент. Вы не можете иметь обе вещи, даже после подтверждения операции вручную. Mario 7 лет назад 0
Я ничего не понимаю с твоим ответом, извини! Если кто-то не хочет, чтобы я потерял данные, не просите меня очистить буфер обмена. Я не понимаю, почему текст HTML должен быть вставлен с открытым исходным приложением ... Если я правильно помню, Windows в прошлом работала так, как ожидалось, возможно, эта «функция» была изменена в последних версиях Windows (надеюсь, !). И да, я хочу, чтобы материал оставался в буфере обмена, а не исчезал, поэтому я не могу использовать ваш макрос. FredericP 7 лет назад 0
Хотя слово все еще открыто, на самом деле это не HTML-текст (или любой другой распространенный формат). Это должно быть определено, как только Word получит уведомление о другом приложении, запрашивающем данные клавиатуры. Я не думаю, что есть какой-либо способ обойти подсказку, сохраняя данные в упрощенном виде в буфере обмена Mario 7 лет назад 0