Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

лава 20. Взаимодействие с другими приложениями

657

ActiveW orkbook.Nam e & " . p d f"

 

Создание

почтового

вложения

 

A c tiv e S h e e t. E xportA sF ixedF orm at _

 

Type: =xlTypePDF,

_

 

F ile n a m e := Fname

 

 

Создание

объекта

O u tlo o k

 

Set

O utlookApp =

New O u tlo o k .A p p lic a tio n

 

1 Создание почтового вложения и его отправка

 

Set

MItem

= O u tlo o kA p p . C re a te lte m (o lM a illte m )

 

W ith

M item

 

 

 

.To =

R e c ip ie n t

 

 

.S u b je c t = Subj

 

 

.Body

= Msg

 

Fname

 

.A tta ch m e n ts .A d d

 

.Save

1 В папке

Черновики (D ra fts )

 

1

. Send

 

 

 

End

W ith

 

N o th in g

 

Set

O utlookApp =

 

'Удаление файла

K i l l Fname

End Sub

Компакт-диск

Пример из этого раздела находится на прилагаемом к книге компакт-диске в файле send p d f v ia o u tlo o k . xlsm .

Использование метода SendKeys

He все приложения поддерживают автоматизацию. В некоторых случаях можно управлять такими приложениями. Для этого воспользуйтесь методом Excel SendKeys,

который в результате отправки комбинаций клавиш эмулирует действия пользователя. Несмотря на то что использование метода SendKeys является довольно удачным

решением, его применение связано с рядом трудностей. Потенциальная проблема заклю­ чается в том, что метод применяется по отношению к конкретному пользовательскому интерфейсу. Если более поздняя версия программы имеет другой интерфейс, то прило­ жение, использующее метод S endK eys, перестанет работать. Следовательно, применять метод SendKeys можно только в качестве последнего средства.

В следующем примере демонстрируется применение метода SendK eys к программе

Windows Calculator (Калькулятор). Процедура T e s tK e y s переводит программу в инже­

нерный режим (команда Вид^Инженерный (View^Scientific)).

Sub TestKeys ()

S hell "c a lc .E x e ", vbNorm alFocus

A p p lic a tio n . SendKeys "%vs"

End Sub

В данном примере отправляется комбинация клавиш <Alt+V> (символ процента представляет клавишу <Alt>), за которой следует клавиша <S>. Документация по и с ­ пользованию метода S endKeys представлена в справочной системе, в которой описаны

вопросы отправки нестандартных комбинаций клавиш (например, комбинаций с клави­ шей <Alt> или <Ctrl>).

Часть V. Профессиональные методы программирования

Примечание

В качестве последнего упражнения этой главы я попытался запустить про­ цедуру TestKeys на компьютере с установленной операционной системой Windows 7. Несмотря на то что стандартный калькулятор в Windows 7 исполь­ зует те же клавиши — ускорители меню, что и калькулятор в Windows ХР, процедура не работает. На основании этого небольшого исследования я пришел к выводу о том, что Windows 7 поддерживает метод SendKeys, толь­ ко если отключен контроль учетных записей (свойство обеспечения безо­ пасности). Это еще один яркий пример того, что к методу SendKeys следует прибегать в крайнем случае.