Сбросить скрытые параметры

Вызов команды:
MulTEx -группа Книги/ЛистыПараметры приложенияСбросить скрытые параметры


Пригодится в основном тем, кто часто использует различные макросы(свои или чужие — не важно).
Часто в макросах, обрабатывающих информацию в ячейках, для ускорения работы кода изменяют некоторые параметры Excel. И если по какой-то причине макрос завершает работу с ошибкой и останавливается — то далеко не всегда значения для этих параметров автоматически возвращаются в исходные значения. Так же макрос может отработать без ошибок, но изначально был написан так, что эти параметры не возвращены в исходные значения. И тогда Excel может вести себя не так, как ожидается. При нажатии кнопки Сбросить скрытые параметры появится форма с вариантами таких настроек и отображением их текущего состояния:
MulTEx - Сбросить скрытые параметры

Что они означают и какие могут быть последствия их «отключения»:
  • обновление экрана — что такое обновление экрана? После практически любого действия(выделение ячеек, переход на другие листы и книги, закраска ячеек и т.п.) Excel дает команду операционной системе перерисовать экран — иначе говоря обновить. А при отключенном обновлении экрана Excel как бы зависает на том листе, на котором было отключено обновление. При этом, все действия на самом деле происходят(ячейки выделяются, переход на листы и книги производится и т.п.) — просто экран не перерисовывается и создается впечатление, будто Excel завис. И не зная причины и хотя бы азов программирования в Visual Basic for Application — вернуть обновление экрана можно только перезапуском Excel полностью.
  • отслеживание событий — отслеживание событий часто используются в макросах для удобства пользователя. Например, есть макросы показа всплывающего календаря при выделении ячеек, автоввод даты или запуск обновлений сводных таблиц при переходе на определенные листы и многое другое. И чтобы эти действия не отслеживались при выполнении других кодов(т.к. могут помешать работе кода или привести к показу лишних сообщений) — их часто отключают. И если затем не вернуть отслеживание событий — то перестанут работать все макросы, зависящие от разных событий.
  • показ системных сообщений — параметр отвечает за показ большинства системных сообщений Excel. Полный перечень слишком большой, но самые важные это: показ предупреждения перед удалением листов; запрос на сохранение файла перед закрытием; запрос на перезапись файла, если такой файл уже существует. Если показ сообщений отключен — то эти запросы не будут появляться. А это значит, что можно случайно удалить не тот лист или перезаписать нужный файл или закрыть файл без сохранения.
  • пересчет формул — по сути не самая скрытая настройка, потому что её можно вернуть вручную: вкладка Формулы(Formulas)Параметры вычислений(Calculation options). Если установлено значение Вручную(Manual), то формулы на листе не пересчитываются автоматически. И чтобы вернуть привычное поведение пересчета формул необходимо выставить значение —Автоматически(Automatic). Но эта настройка так же добавлена в сброс настроек, т.к. наиболее часто применяется для ускорения работы макросов.
  • буфер обмена — больше для информации, т.к. достаточно часто в макросах применяется копирование диапазонов и объектов и не производится очистка буфера. В итоге в буфере Excel может храниться достаточно большой объем информации, который может не только замедлить работу приложения, но и просто добавить определенных «неудобств». Например, если в буфере осталась некая информация без ведома пользователя, но он может случайно вставить эту информацию «не туда». А если объем большой и отключены некоторые параметры(тот же показ системных сообщений) — то вставка произойдет без предупреждений и без возможности отката. Сбросить буфер можно просто нажав клавишу Esc на клавиатуре. Но настройка так же добавлена в форму, т.к. достаточно не очевидна и не всегда есть возможность вовремя обнаружить подобные вещи.

    Важно: даже если в форме отображается, что буфер обмена пуст — это не всегда так. В данном случае это означает, что «оперативный» буфер обмена Excel не содержит информации. Но есть еще общий буфер операционной системы, который так же доступен из Excel, но он практически не влияет непосредственно на его быстродействие.

Самое неприятное — без соответствующих знаний вернуть в значение по умолчанию самые «неприятные» из перечисленных настроек не получится, т.к. они не изменяются через стандартные настройки Excel. Единственный выход — закрывать Excel и запускать заново, что не всегда допустимо.
Да и не всегда сразу можно заметить, что какие-то настройки не были возвращены в исходные значения. Например, в ходе какого-то макроса были отключены отслеживания событий и показ системных сообщений. Тогда при закрытии любого файла, независимо от того, был он сохранен или нет — он будет закрыт без сохранения. Или еще хуже: когда отключены и обновление экрана и показ системных сообщений — ничего сделать нельзя, кроме как закрыть приложение. А ведь при этом могут быть нужные и не сохраненные изменения в открытых файлах. И тогда все файлы будут закрыты без сохранения, что в некоторых случаях — полдня лишней работы.

Команда Сбросить скрытые параметры поможет вернуть все перечисленные выше параметры(или только выбранные) в их значения по умолчанию(т.е. в те, которые назначаются при запуске Excel). Если галочка для пункта нажата — после нажатия кнопки ОК для параметра будет назначено значение по умолчанию.
Для пересчета формул будет включен режим Автоматически(Automatic), а буфер обмена будет сброшен.

Loading

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.