6 / 3 / 0
Регистрация: 04.11.2016
Сообщений: 12
1

Как определить на котором из нескольких мониторов находится основное окно Ворд/Эксель?

04.11.2016, 21:21. Показов 1898. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Изначально интересующий меня вопрос выглядел так:

Дано: комп с несколькими мониторами (возможно более двух), экранные разрешения мониторов могут различаться.

Требуется (с помощью макроса VBA):
1. Определить количество мониторов.
2. Определить экранные разрешения для каждого монитора.
3. Определить на каком мониторе находится основное окно программы МС Офис.
4. Определить на каком мониторе находятся плавающие меню программы.
5. Запустить юзер-форму на том мониторе, на котором находятся плавающие меню, либо, если плавающие меню не открыты, то на мониторе соседнем с тем на котором находится основное окно программы.

К настоящему моменту времени я разобрался с первыми двумя пунктами следующим образом -

Visual Basic
1
2
3
4
5
6
7
'--------------------------------------------------------
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDc As Long, ByVal nIndex As Long) As Long 
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
'--------------------------------------------------------
if GetDC(0) or GetDC(1)... or... GetDC(n) <> 0 ' монитор существует
HeightScreen = GetDeviceCaps(GetDC(n), 10) ' размер экрана в пикселях по вертикали
PixelInInch = GetDeviceCaps(GetDC(n), 90) ' разрешение экрана в пикселях на дюйм
"размер экрана в поинтах по вертикали" = (HeightScreen / PixelInInch) * 72

НО...
Как всё же определить и возможно ли это вообще в Office-VBA -
На котором из нескольких мониторов находится основное окно Ворд/Эксель?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2016, 21:21
Ответы с готовыми решениями:

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

Как определить хостинг на котором находится сайт
Как определить хостинг на котором находится сайт (интересует этот: _http://lgraphic.ru)

Как определить, какое окно в системе находится в фокусе
Всем добрый вечер. Вопрос следующий, как узнать, стоит ли фокус на определенном окне, к примеру...

Как определить, где в данный момент находится окно по оси X, Y
господа как определить где в данный момент находится окно по оси X,Y

1
6 / 3 / 0
Регистрация: 04.11.2016
Сообщений: 12
08.11.2016, 15:32  [ТС] 2
Stand Up - вопрос с 3-го по 5-й пункты всё еще не теряет актуальность... увы...
---------------------------------------------
Пожилые Панки - Хой! Юра Хой - Хой!
0
08.11.2016, 15:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2016, 15:32
Помогаю со студенческими работами здесь

Скролится как iframe так и основное окно
вот такая вот функция function show_message() { rand_num = randgen(); document.all.src =...

Как параметры в диалоговом окне передать в основное окно
Подскажите, плиз, как введеные параметры в диалоговом окне передать в основное окно. Поясню, что...

Как вернуть событие (клик) из DeskBand в основное окно?
Продолжая тему усовершенствования своего бытового таймера :) - хотел бы прежде всего еще раз...

Как сделать невидимой основное окно Microsoft Access?
При запуске формы хотелось бы сделать так чтобы видно было только эту форму. Подскажите, плиз, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru