Перейти к содержимому

Максимизация окна программы Excel 2010-2016 при открытии

Автоматическая максимизации окна программы Excel при открытии первого файла. Разворачивание окна первой открытой книги на весь экран по умолчанию.

Впервые проблемы с максимизацией окна Excel при открытии стали возникать, начиная с версии 2010 года. Несмотря на то, что файлы сохранялись развернутыми на весь экран, повторно они открывались в наполовину свернутом виде в верхней части экрана. Естественно, приходилось каждый раз окно программы Excel разворачивать вручную.

Недавно у меня такая же проблема возникла с Excel 2016 при одном отличии: окно программы открывалось свернутым в квадрат в правой части экрана.

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

Максимизация окна Excel при открытии

Чтобы добавить код максимизации окна Excel при открытии, необходимо выполнить следующие действия:

1. Открыть любую книгу Excel, можно новую.

2. Сочетанием клавиш левая клавиша Alt+F11 открыть редактор Visual Basic for Applications.

Окно редактора 1
3. Дважды кликнуть на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута, переходим к пункту 4.

Окно редактора 2
4. Дважды кликнуть на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута, переходим к пункту 5.

Окно редактора 3
5. Дважды кликнуть на строке «ЭтаКнига» для открытия модуля книги.

Окно редактора 4
6. Скопировать и вставить в окно модуля книги следующий код:

Private Sub Workbook_Open()
  Application.WindowState = xlMaximized
End Sub

Окно редактора 5

7. Сохранить изменения.

Теперь программа Excel при открытии будет автоматически разворачивать свое окно на весь экран.

Что делать, если код не работает?

У меня в Excel 2016 через некоторое время приведенный выше код перестал работать правильно. При открытии первого файла вначале стала открываться личная книга макросов PERSONAL.XLSB в развернутом окне и после этого рабочая книга во втором свернутом окне. Проблема была решена небольшой модификацией кода:

Private Sub Workbook_WindowActivate(ByVal Wn As Window)
  Application.WindowState = xlMaximized
End Sub

Замените код в персональной книге макросов, если у вас произойдет подобное.

Максимизация окна программы Excel 2010-2016 при открытии: 5 комментариев

  1. Владимир

    Добрый день.
    Спасибо за приведенный вариант решения проблемы.
    Сориентируйте, пожалуйста, как я могу убрать Код?: я проделал все, как вы рекомендовали выше и Excel перестал открываться. Как я могу это исправить?
    Спасибо.

  2. Евгений (автор статьи)

    Здравствуйте, Владимир.
    Скорее всего это не из-за кода, если вы его в точности скопировали. Удалить код можно, но вместе с личной книгой макросов.
    Она расположена в папке C:\Пользователи\Имя_пользователя\AppData\Roaming\Microsoft\Excel\XLSTART.
    Удалите файл PERSONAL.XLSB или переместите его в другое место.
    Папка AppData скрытая, поэтому в «Параметрах папок» должно стоять разрешение на показ скрытых папок, то есть выбрана строка «Показывать скрытые файлы, папки и диски».

  3. Анатолий

    Здравствуйте.

    Воспользовался советом, помогло. Однако через пару дней проблема вернулась, хотя я ничего не менял в коде. Перепроверил, все на месте, все то же самое.

    Есть какие-то мысли по этому поводу?

  4. Евгений (автор статьи)

    Здравствуйте, Анатолий!
    У меня в Excel 2010 первый код из статьи работал отлично. В версии 2016 года перестал. Заменил его на второй, первое время работал нормально, потом тоже с перебоями.
    После вашего комментария вставил оба кода в модуль «ЭтаКнига» персональной книги макросов:

    Private Sub Workbook_Activate()
        Application.WindowState = xlMaximized
    End Sub
    Private Sub Workbook_Open()
        Application.WindowState = xlMaximized
    End Sub
    

    Вроде работает.
    И еще вариант:

    Private Sub Workbook_WindowActivate(ByVal Wn As Window)
         Application.WindowState = xlMaximized
    End Sub
    

    Тоже вроде работает, но для полной проверки нужно время. Я оставил для тестирования последний вариант.

  5. Анатолий

    Евгений, благодарю за ответ!

    Спасибо, тоже буду тестировать.

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

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора.