Флип-флоп экрана с VBA (Microsoft Word)
Очень часто я работаю с двумя файлами в Word одновременно.
Например, я могу читать один документ и сравнивать его с другим (и я не хочу использовать функцию «Сравнить документы»). Я всегда стараюсь держать изменяемый мной документ в верхней части экрана, а другой документ — в нижней. Назовите это причудой личности, но я считаю, что таким образом проще использовать окна.
Многократная корректировка положения окон и проверка того, что нужный файл находится в верхней части экрана, может быть проблемой. Поэтому я разработал макрос, чтобы справиться с этой ситуацией. Вы можете использовать этот удобный небольшой макрос для переключения окна, которое находится «наверху», если на экране отображаются два окна. Вы, вероятно, захотите назначить это кнопке на панели инструментов или сочетанию клавиш, так как это будет мало полезно, если вам нужно продолжать вызывать его из списка макросов. В Word 97 будет работать следующее:
Sub FlipFlop() If Windows.Count = 2 Then WordBasic.NextWindow WindowArrangeAll End If End Sub
Если вы используете более позднюю версию Word, макрос нужно немного изменить:
Sub FlipFlop() If Windows.Count = 2 Then WordBasic.NextWindow Windows.Arrange End If End Sub
Обратите внимание, что эти макросы работают, только если (и только если) на экране есть два окна. Если их больше или меньше, то макрос вообще ничего не делает.
Несомненно, есть специалисты по VBA, читающие этот совет, которые сразу заметят, что команду WordBasic.NextWindow можно было заменить на ActiveWindow.Next.Activate. (Справка VBA указывает, что это VBA-эквивалент команды NextWindow в WordBasic.) Однако при этом происходит интересная вещь — макрос не работает. Вы можете попробовать это сами, выполнив следующие действия:
-
Создайте два окна документов на экране. (Откройте два документа Word и только два.)
-
Выберите «Упорядочить все» в меню «Окно».
-
Теперь начните запись макроса; вы можете дать ему любое имя.
-
Нажмите Ctrl + F6, что сделает следующее окно активным.
-
Выберите «Упорядочить все» в меню «Окно».
-
Повторите шаги 4 и 5 еще для двух итераций.
-
Остановите рекордер макросов.
-
Запустите только что созданный макрос.
Когда вы выполните эти шаги, вы заметите, что макрос (тот, который Word только что создал для вас) запускает одну из команд ActiveWindow.Next.Activate. Вероятно, это хорошая ошибка для Редмонда, но способ ее обойти — использовать вместо этого команду WordBasic.NextWindow.
_Примечание: _
Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
WordTips — ваш источник экономичного обучения работе с Microsoft Word.
(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (972) относится к Microsoft Word 97, 2000, 2002 и 2003.