Как сделать эксель поверх всех окон

Обновлено: 15.07.2024

VBA, как в Excel, win64, создать форму, которая держится поверх всех окон?

Не могу найти примера. Есть ли у кого?

trir, Спасибо, но это не совсем то, что я ищу.
Насколько я понял, в вашем примере окно остается поверх в самом Excel, а когда перехожу в другую программу - оно теряется.
Моя задача - создать форму, которая будет видна нопример поверх автокада при включеном экселе.

Опишу свою задачу еще более детально: есть макросы, написанные для расчетной программы на VBA, но из самой программы их вызвать невозмножно. Сейчас они сидят в экселе, и приходится переключаться туда-сюда.

может через трэй лучше сделать, это тоже не стандартные вещи VBA. Пример. По сути нужно самое простейшее - по клику по иконке в трее активировать эксель и вызвать нужную форму.

Я может глупость скажу, но может standalone приложение с COM доступом к данным в Excel?
Соответственно любой язык и полные возможности.
Зачем пытаться писать на кастрированном языке вещи для которых этот язык не предназначен?

Thượng Tá Quân Đội Nhân Dân Việt Nam

Я может глупость скажу, но может standalone приложение с COM доступом к данным в Excel?
Соответственно любой язык и полные возможности.
Зачем пытаться писать на кастрированном языке вещи для которых этот язык не предназначен?

Зачем тогда вообще Excel, если в ней "макросы", т.е. то, что ещё проще написать на любом нормальном языке? Да и данные надежней хранить.

А уж для форм - методы Show или ShowModal и свойства типа fsStayOnTop или fsNormal.

В экселе есть форма. Как сделать ее поверх остальных окон, даже если эксель свернутый?

Код: Выделить всё Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal X As Long, ByVal Y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) As Long
Private Const HWND_NOTOPMOST = -2
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1

Private Sub UserForm_Activate()
Dim hWnd As Long
hWnd = FindWindow(vbNullString, Me.Caption)
Call SetWindowPos(hWnd, HWND_TOPMOST, 100, 0, 100, 0,WP_NOMOVE Or SWP_NOSIZE)

'*******Форма в нормальное положение**************
' Call SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
'**********************************************
End Sub
[/code]

Большое спасибо! Все работает. но только если эксчель не свернутый в значок. А есть ли возможность сделать, чтобы также работало даже при свернутом экселе?

Несколько окон на экране и другие настройки в Эксель

Для Эксель каждый файл (документ) принято называть рабочей книгой, в ней расположены рабочие листы. Активный лист рабочей книги – это рабочее окно Excel. В любой момент времени может быть активно только одно рабочее окно, даже если у вас открыто несколько книг. Именно в нём вы можете осуществлять операции. Очень важно уметь настраивать окна, т.к. правильно организованное рабочее пространство – залог комфортной работы с программой.

Структуру окна (рабочей области) мы подробно рассмотрели, когда изучали базовые понятия.

Три состояния рабочего окна Эксель

В правом верхнем углу окна (в строке заголовка) расположены 5 кнопок, 3 из которых предназначены для работы с окнами:

  1. Справка Excel
  2. Параметры отображения ленты
  3. Свернуть окно
  4. Восстановить окно / Развернуть окно
  5. Закрыть окно

Команды управления окнами Excel

Рабочее окно книги может находиться в одном из трёх состояний:

    Развернуто – занимает весь экран, видно максимальную площадь листа. Чтобы развернуть окно – нажмите одноименную кнопку в строке заголовка

Настройка размеров рабочих окон

Если вы используете несколько книг – может понадобиться отобразить сразу несколько рабочих окон на экране. Для этого используем следующие приёмы:

  • Изменить размеры окна вручную. Сначала восстановите окно, после этого наведите мышью на любую из рамок окна или его угол. Курсор станет двунаправленной стрелкой. Зажимайте левую кнопку мыши и тяните границы листа в нужную сторону. Этот приём универсален для всех окон в Microsoft Windows.
  • Использовать команду на ленте. Перейдите Вид – Окно – Упорядочить всё . Откроется диалоговое окно настройки отображения с четырьмя комбинациями окон. Выберите тот, который подходит вам в данный момент. Команда не обрабатывает минимизированные окна.

Переключение между окнами Excel

Как я уже говорил ранее, активным для работы может быть только одно окно из всех, отображённых на экране. Чтобы переключать активные окна, я знаю 4 способа:

  1. Кликнуть мышью. Это самый простой метод, если на экране видна хотя бы часть окна – смело жмите на неё. Окно будет активировано и отображено поверх остальных
  2. Выбрать на панели задач Windows – один из самых популярных способов. Просто кликните на ярлыке нужной рабочей книги
  3. Использовать горячие клавиши. Для циклического переключения между рабочими окнами нажимайте на клавиатуре Ctrl+Tab (прямое направление) и Shift+Ctrl+Tab (обратное направление). Аналог этой комбинации – Ctrl+F6 и Shift+Ctrl+F6 .
  4. С помощью ленточной команды. Выполните команду: Вид – Окно – Перейти в другое окно . Откроется список доступных окон, выбирайте и переходите

Переход в другое окно с помощью ленты

Несколько окон на одном экране

Иногда нужно открыть несколько окон на экране, чтобы обеспечить совместную работу с ними. Особенно это актуально, когда разрешение экрана компьютера достаточно велико. За работу с несколькими окнами отвечает блок команд Главная — Вид — Окно .

Один документ в нескольких окнах

Чтобы открыть в новом окне еще один экземпляр уже открытого окна — кликните Главная — Вид — Окно — Новое окно . Теперь нажмите Упорядочить все , чтобы выбрать расположение окон Excel на экране. Выберите один из вариантов расположения на экране:

Так, Вы можете автоматически, без ручной настройки расположить оба окна Эксель на одном экран.

Разделение окна на две области

Еще один способ заключается в разделении текущего окна вместо создания нового. Можно разделить на 2 или на 4 участка.

Чтобы разделить окно на 4 участка — выполните такую последовательность действия:

  1. Выделите ячейку, относительно которой будете делить окно. Горизонтальная и вертикальная линии разбивки будут проходить слева и сверху от ячейки.
  2. Нажмите Главная — Вид — Окно — Разделить . Результат разбивки смотрите на картинке:
  3. Чтобы убрать разделение — снова нажмите кнопку Разделить

Чтобы разделить окно на 2 участка — выделите не ячейку, а целую строку (под линией разделения) или столбец (справа от линии разделения). Снова нажмите Разделить .

У каждой области будут свои полосы прокрутки, управлять ими можно раздельно. Но Вы все же работаете в одном и том же документе, поэтому любые внесенные изменения отобразятся в каждой из областей.

Разные книги на одном экране

Мы обсудили, как показать на одном экране несколько образцов одной рабочей книги. Аналогично можно поступить и с разными документами. Откройте все файлы Excel, которые нужно уместить на экран. Снова нажмите Упорядочить все , чтобы указать, каким способом скомпоновать окна.

Синхронная прокрутка окон

Как Вы уже поняли, при отображении нескольких окон на экране, их прокрутка осуществляется раздельно для каждого из окон. А что, если Вы просматриваете на соответствие некоторые списки, и Вам нельзя для этих целей использовать функции Excel? Было бы удобно, чтобы прокручивались все окна одновременно.

Это легко реализуется. Нажмите не ленте Вид — Окно — Синхронная прокрутка . Вот так просто, больше ничего делать не нужно!

Закрытие окна

Если вы закончили в рабочей книге – закройте её, чтобы освободить виртуальную память компьютера. Для этого существует, как минимум, 4 способа:

Если вы не сохранили документ перед закрытием – программа спросит, нужно ли выполнить сохранение. Выберите Сохранить , чтобы сохранить все изменения и закрыть файл; Не сохранять — чтобы закрыть книгу без сохранения; Отмена — оставить книгу открытой, не сохранять изменения.

Многие недооценивают возможности, которые даёт правильная работа с окнами Microsoft Excel. Потренируйтесь в применении всех изложенных правил и поймёте, что они могут принести значительную пользу, если информация находится в нескольких файлах и каждый из них должен быть всегда под рукой. Если же данные расположены на разных листах одной рабочей книги – вам будет полезен мой пост о работе с листами, рекомендую добавить его в закладки браузера.

Если что-то из данного материала вы не поняли – пишите комментарии, я обязательно отвечу. Всегда ваш, Александр Томм.

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

3 комментариев

Добрый день. Такая проблема — переключение между окнами в excel 2016 не работает по средством нажатия стрелкой мыши, окна меняются, но данные показываются с последнего открытого файла. Горячим сочетанием клавиш CTRL+F6 и с помощью ленточной команды это получается, но это не удобно, а CTRL+TAB не получается. Подскажите пожалуйста в чем дело и как быть? Может быть можно сменить CTRL+F6 на более удобную комбинацию?

Сергей, здравствуйте. CTRL+F6 и CTRL+TAB — выполняют одну и ту же операцию. Если работает одна комбинация — должна работать и другая. Проверьте работоспособность самой клавиши TAB.
Чтобы назначить другую комбинацию клавиш — можно воспользоваться макросом и назначить ему удобное сочетание клавиш. Но это не самый лучший выход

Александр, спасибо за ответ. CTRL+TAB не работает, потому что окна открытых файлов excel располагаются в одном окне вкладками вверху и переключение идет между этим окном и другими открытыми программами, а не между файлами excel. Искал в настройках, чтобы сделать расположение окон, как было по старинке — на панели задач, но не нашел.

Для Эксель каждый файл (документ) принято называть рабочей книгой, в ней расположены рабочие листы. Активный лист рабочей книги – это рабочее окно Excel. В любой момент времени может быть активно только одно рабочее окно, даже если у вас открыто несколько книг. Именно в нём вы можете осуществлять операции. Очень важно уметь настраивать окна, т.к. правильно организованное рабочее пространство – залог комфортной работы с программой.

Структуру окна (рабочей области) мы подробно рассмотрели, когда изучали базовые понятия.

Три состояния рабочего окна Эксель

В правом верхнем углу окна (в строке заголовка) расположены 5 кнопок, 3 из которых предназначены для работы с окнами:

Рабочее окно книги может находиться в одном из трёх состояний:

    Развернуто – занимает весь экран, видно максимальную площадь листа. Чтобы развернуть окно – нажмите одноименную кнопку в строке заголовка

Настройка размеров рабочих окон

Если вы используете несколько книг – может понадобиться отобразить сразу несколько рабочих окон на экране. Для этого используем следующие приёмы:

  • Изменить размеры окна вручную. Сначала восстановите окно, после этого наведите мышью на любую из рамок окна или его угол. Курсор станет двунаправленной стрелкой. Зажимайте левую кнопку мыши и тяните границы листа в нужную сторону. Этот приём универсален для всех окон в Microsoft Windows.
  • Использовать команду на ленте. Перейдите Вид – Окно – Упорядочить всё . Откроется диалоговое окно настройки отображения с четырьмя комбинациями окон. Выберите тот, который подходит вам в данный момент. Команда не обрабатывает минимизированные окна.

Переключение между окнами Excel

Как я уже говорил ранее, активным для работы может быть только одно окно из всех, отображённых на экране. Чтобы переключать активные окна, я знаю 4 способа:

  1. Кликнуть мышью. Это самый простой метод, если на экране видна хотя бы часть окна – смело жмите на неё. Окно будет активировано и отображено поверх остальных
  2. Выбрать на панели задач Windows – один из самых популярных способов. Просто кликните на ярлыке нужной рабочей книги
  3. Использовать горячие клавиши. Для циклического переключения между рабочими окнами нажимайте на клавиатуре Ctrl+Tab (прямое направление) и Shift+Ctrl+Tab (обратное направление). Аналог этой комбинации – Ctrl+F6 и Shift+Ctrl+F6 .
  4. С помощью ленточной команды. Выполните команду: Вид – Окно – Перейти в другое окно . Откроется список доступных окон, выбирайте и переходите

Несколько окон на одном экране

Иногда нужно открыть несколько окон на экране, чтобы обеспечить совместную работу с ними. Особенно это актуально, когда разрешение экрана компьютера достаточно велико. За работу с несколькими окнами отвечает блок команд Главная — Вид — Окно .

Один документ в нескольких окнах

Чтобы открыть в новом окне еще один экземпляр уже открытого окна — кликните Главная — Вид — Окно — Новое окно . Теперь нажмите Упорядочить все , чтобы выбрать расположение окон Excel на экране. Выберите один из вариантов расположения на экране:

  1. Рядом
  2. Сверху вниз
  3. Слева направо
  4. Каскадом

Так, Вы можете автоматически, без ручной настройки расположить оба окна Эксель на одном экран.

Разделение окна на две области

Еще один способ заключается в разделении текущего окна вместо создания нового. Можно разделить на 2 или на 4 участка.

Чтобы разделить окно на 4 участка — выполните такую последовательность действия:

    , относительно которой будете делить окно. Горизонтальная и вертикальная линии разбивки будут проходить слева и сверху от ячейки.
  1. Нажмите Главная — Вид — Окно — Разделить . Результат разбивки смотрите на картинке:
  2. Чтобы убрать разделение — снова нажмите кнопку Разделить

Чтобы разделить окно на 2 участка — выделите не ячейку, а целую строку (под линией разделения) или столбец (справа от линии разделения). Снова нажмите Разделить .

У каждой области будут свои полосы прокрутки, управлять ими можно раздельно. Но Вы все же работаете в одном и том же документе, поэтому любые внесенные изменения отобразятся в каждой из областей.

Разные книги на одном экране

Мы обсудили, как показать на одном экране несколько образцов одной рабочей книги. Аналогично можно поступить и с разными документами. Откройте все файлы Excel, которые нужно уместить на экран. Снова нажмите Упорядочить все , чтобы указать, каким способом скомпоновать окна.

Синхронная прокрутка окон

Как Вы уже поняли, при отображении нескольких окон на экране, их прокрутка осуществляется раздельно для каждого из окон. А что, если Вы просматриваете на соответствие некоторые списки, и Вам нельзя для этих целей использовать функции Excel? Было бы удобно, чтобы прокручивались все окна одновременно.

Это легко реализуется. Нажмите не ленте Вид — Окно — Синхронная прокрутка . Вот так просто, больше ничего делать не нужно!

Закрытие окна

Если вы закончили в рабочей книге – закройте её, чтобы освободить виртуальную память компьютера. Для этого существует, как минимум, 4 способа:

Если вы не сохранили документ перед закрытием – программа спросит, нужно ли выполнить сохранение. Выберите Сохранить , чтобы сохранить все изменения и закрыть файл; Не сохранять — чтобы закрыть книгу без сохранения; Отмена — оставить книгу открытой, не сохранять изменения.

Многие недооценивают возможности, которые даёт правильная работа с окнами Microsoft Excel. Потренируйтесь в применении всех изложенных правил и поймёте, что они могут принести значительную пользу, если информация находится в нескольких файлах и каждый из них должен быть всегда под рукой. Если же данные расположены на разных листах одной рабочей книги – вам будет полезен мой пост о работе с листами, рекомендую добавить его в закладки браузера.

Если что-то из данного материала вы не поняли – пишите комментарии, я обязательно отвечу. Всегда ваш, Александр Томм.

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

3 комментариев

Добрый день. Такая проблема — переключение между окнами в excel 2016 не работает по средством нажатия стрелкой мыши, окна меняются, но данные показываются с последнего открытого файла. Горячим сочетанием клавиш CTRL+F6 и с помощью ленточной команды это получается, но это не удобно, а CTRL+TAB не получается. Подскажите пожалуйста в чем дело и как быть? Может быть можно сменить CTRL+F6 на более удобную комбинацию?

Сергей, здравствуйте. CTRL+F6 и CTRL+TAB — выполняют одну и ту же операцию. Если работает одна комбинация — должна работать и другая. Проверьте работоспособность самой клавиши TAB.
Чтобы назначить другую комбинацию клавиш — можно воспользоваться макросом и назначить ему удобное сочетание клавиш. Но это не самый лучший выход

Александр, спасибо за ответ. CTRL+TAB не работает, потому что окна открытых файлов excel располагаются в одном окне вкладками вверху и переключение идет между этим окном и другими открытыми программами, а не между файлами excel. Искал в настройках, чтобы сделать расположение окон, как было по старинке — на панели задач, но не нашел.

Читайте также: