Автоматическая максимизации окна программы Excel при открытии первого файла. Разворачивание окна первой открытой книги на весь экран по умолчанию.
Впервые проблемы с максимизацией окна Excel при открытии стали возникать, начиная с версии 2010 года. Несмотря на то, что файлы сохранялись развернутыми на весь экран, повторно они открывались в наполовину свернутом виде в верхней части экрана. Естественно, приходилось каждый раз окно программы Excel разворачивать вручную.
Недавно у меня такая же проблема возникла с Excel 2016 при одном отличии: окно программы открывалось свернутым в квадрат в правой части экрана.
Решение было найдено на одном из иностранных форумов. Заключается оно в том, что в персональную (личную) книгу макросов PERSONAL.XLSB, которая автоматически загружается при запуске Excel, необходимо поместить код, максимизирующий окно приложения. Если у вас нет персональной книги макросов, ее надо создать.
Максимизация окна Excel при открытии
Чтобы добавить код максимизации окна Excel при открытии, необходимо выполнить следующие действия:
- Открыть любую книгу Excel, можно новую.
- Сочетанием клавиш левая клавиша Alt+F11 открыть редактор Visual Basic for Applications.
- Дважды кликнуть на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута, переходим к пункту 4.
- Дважды кликнуть на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута, переходим к пункту 5.
- Дважды кликнуть на строке «ЭтаКнига» для открытия модуля книги.
- Скопировать и вставить в окно модуля книги следующий код:
1 2 3 |
Private Sub Workbook_Open() Application.WindowState = xlMaximized End Sub |
- Сохранить изменения.
Теперь программа Excel при открытии будет автоматически разворачивать свое окно на весь экран.
Что делать, если код не работает?
У меня в Excel 2016 через некоторое время приведенный выше код перестал работать правильно. При открытии первого файла вначале стала открываться личная книга макросов PERSONAL.XLSB в развернутом окне и после этого рабочая книга во втором свернутом окне. Проблема была решена небольшой модификацией кода:
1 2 3 |
Private Sub Workbook_Open() Application.DisplayFullScreen = True End Sub |
Замените код в персональной книге макросов, если у вас произойдет подобное.
Добрый день.
Спасибо за приведенный вариант решения проблемы.
Сориентируйте, пожалуйста, как я могу убрать Код?: я проделал все, как вы рекомендовали выше и Excel перестал открываться. Как я могу это исправить?
Спасибо.
Здравствуйте, Владимир.
Скорее всего это не из-за кода, если вы его в точности скопировали. Удалить код можно, но вместе с личной книгой макросов.
Она расположена в папке C:\Пользователи\Имя_пользователя\AppData\Roaming\Microsoft\Excel\XLSTART.
Удалите файл PERSONAL.XLSB или переместите его в другое место.
Папка AppData скрытая, поэтому в «Параметрах папок» должно стоять разрешение на показ скрытых папок, то есть выбрана строка «Показывать скрытые файлы, папки и диски».
Здравствуйте.
Воспользовался советом, помогло. Однако через пару дней проблема вернулась, хотя я ничего не менял в коде. Перепроверил, все на месте, все то же самое.
Есть какие-то мысли по этому поводу?
Здравствуйте, Анатолий!
У меня в Excel 2010 первый код из статьи работал отлично. В версии 2016 года перестал. Заменил его на второй, первое время работал нормально, потом тоже с перебоями.
После вашего комментария вставил оба кода в модуль «ЭтаКнига» персональной книги макросов:
Вроде работает.
И еще вариант:
Тоже вроде работает, но для полной проверки нужно время. Я оставил для тестирования последний вариант.
Евгений, благодарю за ответ!
Спасибо, тоже буду тестировать.
Здравствуйте.
Спасибо вам за ваши рецепты, иногда очень выручают.
Сейчас есть такая проблема: если уже открыта одна книга Excel и она находится в свернутом виде, то при открытии еще одной книги сначала разворачивается первая и поверх нее открывается вторая. Это очень мешает, когда работаешь с другим приложением в паре с экселем и все расположения окон настроены друг под друга.
Попробовал ваш код, заменив xlMaximized на xlWindowStateMinimize, но не добился успеха, видимо надо как-то указать, что речь идет об уже открытой книге — не подскажете как это сделать?
Добрый день, Сергей!
Можно закомментировать или удалить код разворачивания окна в модуле ЭтаКнига PERSONAL.XLSB, а следующий код разместить в модулях ЭтаКнига всех рабочих книг:
В этом случае только открываемая книга развернется на весь экран. Свернутые окна открытых книг останутся без изменений, а окна, свернутые в значок, раскроются до свернутых окон.
Оу… Получается, нельзя отключить это разворачивание централизовано для всех книг? Надо каждую книгу настраивать индивидуально персональным макросом? Это, конечно, кошмар… Очень неудобная функция. Постараюсь довести информацию до производителя.
Спасибо вам, Евгений!
Обсуждение закрыто.