Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Microsoft Office для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

10.6.10 Коллекция Tasks и объект Task

Объект Word.Task, программный запуск приложений из Word средствами VBA, передача сообщений из Word внешним приложениям

Чаще всего Word запускается из Excel, Access или другого приложения, но иногда встречается и обратная необходимость — нужно открыть из Word другое приложение и переключиться в него. Самый простой способ запустить другое приложение из Word — воспользоваться стандартным объектом VBA Shell. Например, чтобы запустить блокнот, можно воспользоваться командой

Shell ("notepad.exe")

Есть и множество других возможностей, например, воспользоваться объектом Application для других приложений Word, или средствами WSH (особенно для консольных приложений), или — если приложение нужно запустить на другом компьютере — средствами WMI.

После того, как приложение запущено, весь набор работающих приложений представляется в Word коллекцией Tasks, а каждое отдельное приложение — соответственно, объектом Task. У коллекции Tasks есть два интересных метода:

  • Exists() — проверить, запущено ли нужное нам приложение. Например, запуск нашего блокнота с проверкой может выглядеть так:

If Tasks.Exists("Notepad") = False Then

Shell "notepad.exe"

Else

Tasks("Notepad").Activate

End If

Tasks("Notepad").WindowState = wdWindowStateMaximize

  • ExitWindows() — произвести операцию Log Off, то есть завершить сеанс работы в Windows. Несохраненные документы Word при этом закроются без сохранения (и без вопросов к пользователю), а документы остальных приложений пользователю будет предложено сохранить.

У объекта Task интересных свойств и методов больше:

  • Height, Width, Top, Left — эти свойства позволяют точно настроить размер окна выбранного вами приложения.
  • Visible — возможность спрятать приложение.
  • WindowState — возможность развернуть, свернуть или восстановить окно.
  • назначение методов Activate(), Close(), Move(), Resize() очевидно.

самый интересный метод — это метод SendWindowMessage(). Он позволяет передавать окну приложения сообщения Windows (щелчки мышью, нажатия клавиш и т.п.). Разобраться в том, какие приложения можно посылать окнам приложений и что они значат, можно при помощи Microsoft Platform Software Development Kit. Например, чтобы в нашем блокноте отобразить окно "О программе", можно воспользоваться командой

Tasks("Notepad").SendWindowMessage &H111, 11, 0

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru