Запретить Excel очищать скопированные данные для вставки после определенных операций без буфера обмена Office

Запретить Excel очищать скопированные данные для вставки после определенных операций без буфера обмена Office
На чтение
18 мин.
Просмотров
17
Дата обновления
11.11.2024

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

Единственный обходной путь — использовать буфер обмена Office, но я не хочу (использует пространство на экране, и это намного менее удобно, чем CTRL + V), и я не думаю, что должен быть вынужден его использовать.

Вот ссылка на некоторые сообщения, также жалующиеся на эту проблему:

Как заставить Excel сохранять содержимое своего буфера обмена

Excel 2010 удаляет данные из буфера обмена, как я могу это остановить?

Есть ли способ заставить Excel хранить мои данные в буфере обмена, пока я не решите, что он мне больше не нужен вместо него, без использования раздражающего (для меня) буфера обмена Office? Возможно, используя буфер обмена Windows.

Или, по крайней мере, вы могли бы объяснить мне, почему это происходит (я знаю, что это нормальное поведение, но почему?)


Ответ, к сожалению, нет , этого нельзя предотвратить.

Как описано Джоэлом Спольски, разработчиком и менеджером программы для excel :

Официальная причина в том, что в Excel на самом деле нет функции вырезания и вставки, а есть функции перемещения и копирования. Это необходимо, потому что Excel автоматически исправляет ссылки. Например, если ячейка A2 определена как = A1, и вы переместите ячейку A1 в A3, ячейка A2 будет обновлена ​​до = A3.

Если Excel на самом деле вырезал элементы в буфер обмена, вам каким-то образом понадобится ссылка, указывающая> на

Джоэл Спольски 3/9/2004

source

Это означает, что из-за сложности, присущей тому, как Excel поддерживает ссылки , на момент разработки не было хорошего способа сохранить эти ссылки вне Excel и оставить их динамическими для повторной вставки. После изменения фокуса способность excel сохранять исходные ссылки теряется.

К сожалению, MS не считает это ошибкой.


Вы можете попробовать некоторые приложения для управления буфером обмена, такие как Ditto, вот ссылка Ditto



«Невозможно очистить буфер обмена» в Excel 2007

В Excel 2007 я получаю раздражающий всплывающий сигнал -up/alert каждый раз, когда я перетаскиваю ячейку в новое место.

Вот окно предупреждения:

Шаги по воспроизведению:

  • открыть новый лист Excel
  • скопировать/вставить информацию из таблицы HTML (веб-страницы) в виде простого текст
  • щелкните и перетащите ячейку в новое пустое место
  • viola

Я использую Excel 2007 на Windows 7 x64.


Некоторое другое приложение, вероятно, отслеживает обновления буфера обмена (например, мой собственный ClipMate). Поскольку буфер обмена является общим ресурсом, любое приложение, которое касается буфера обмена, должно быть осторожно, ожидая, что оно будет доступно сразу после его обновления. Например, если приложение изменяет буфер обмена, а затем сразу же пытается открыть его снова, оно должно быть готово справиться со сценарием, когда другие приложения открыли его для проверки/вставки.

Excel исторически плохо относился к этому. 15 лет назад ошибка говорила бы «нехватка памяти», но на самом деле это то же самое. Программисты не ожидали, что что-то пойдет не так, поэтому они выдают типичную ошибку и завершают работу, вместо того, чтобы разрабатывать защитную стратегию «поймай и попробуй». Ну ладно.

В любом случае, мой совет для конечного пользователя — нажать ESCape, чтобы снять выделение любой ячейки после копирования. Это заново переживет в Excel его одержимость очисткой буфера обмена, поэтому ему даже не следует пытаться очистить буфер обмена, когда вы его перетаскиваете.


Вы используете Skype? Это лучшее решение, которое я нашел, чтобы избавиться от ошибки «не удается очистить буфер обмена» в Excel 2007 и 2010. Удалите надстройку Skype в IE и/или Firefox и прощайте досадную ошибку!

В ответ на сообщение rjacobs7 от 28 февраля 2011 г.

Невозможно очистить ошибку буфера обмена — Windows 7, Excel 2010 — эта ошибка возникает почти каждый при попытке перетаскивания содержимого ячейки. У меня была такая же ошибка за последние 10 лет на старых компьютерах и более старых версиях Windows и Office. Теперь она повторилась с новым ноутбуком под управлением 64-разрядной Windows 7 и Office 2010. Проблема может быть воспроизведена только в том случае, если браузер — IE или Firefox — открыт одновременно с Excel. Если одновременно открыты Word и/или Outlook, проблема не возникнет, если не открыт браузер. Эта ошибка очень раздражает, и никакие решения от Microsoft или других сообщений по этой проблеме не устраняют ее..

У меня есть решение — по крайней мере, для меня! Удалите надстройку Skype в IE и Firefox, и ошибка «не удается очистить буфер обмена» после перетаскивания исчезнет при запуске IE и/или Firefox. По-видимому, какая-то проблема с управлением памятью в Skype, Office и браузерах.


Следующие статьи содержат несколько возможных исправлений проблемы (их слишком много, чтобы перечислить здесь):

Исправление для Cannont Empty the Clipboard in Office
Excel 2007: «Не удается очистить буфер обмена»

2


У меня была такая же проблема с Excel2003 с тех пор, как я недавно обновил свой компьютер и ОС до 64-разрядной версии Windows 7.

Но сегодня, работая в Excel (с раздражающим сообщением об ошибке каждый раз, когда я перемещал ячейку), я закрыл Outlook, который в то время работал на моем компьютере. Затем я закрыл и перезапустил Excel и, как ни странно, мог перемещать ячейки без появления сообщения об ошибке. (в любом случае пока)


Некоторое время я испытывал то же самое. Одну за другой я закрыл все остальные программы, которые у меня были открыты, по очереди. Когда я закрыл Notepad ++ (который у меня почти всегда был открыт), он исчез. Я снова открыл Notepad ++, проблема возникла. Я проделал это еще несколько раз, и каждый раз, когда мой Notepad ++ открывался, я получал сообщение в Excel. Когда его закрыли, проблем не было. Надеюсь, это кому-то поможет.

P.S. Я мог бы быть одним из моих плагинов для Notepad ++. Я пока не пытался преследовать этого кролика.


Я отправил ответ на другой вопрос, который может решить эту проблему. Читая комментарии здесь и в других местах, кажется, что проблема может быть связана с запуском 64-разрядной версии Windows.

Excel 2013: «Мы не смогли освободить место в буфере обмена. Другой программа может использовать его прямо сейчас «

0 Комментариев
Комментариев на модерации: 0
Оставьте комментарий