На главную страницу
 
  Главная 
  Новости 
  Статьи  RSS
  Программное обеспечение 
  Форум 
  Опросы 
  Полезные ссылки 
MSExchange.ru ISADocs.ru WinSecurity.ru NetDocs.ru

Exchange 5.5
Exchange 2000
Exchange 2003
Exchange 2007
Общее
Exchange 2010

Поиск по сайту


Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация

Подписка

Изменение параметров

Статистика

Hits 43099160
30172
Hosts 2928601
1321
Visitors 3196406
2766

19
Мониторинг активности принтеров

Главная / Статьи / Exchange 2003 / Разработка форм Outlook (Часть 2)


Разработка форм Outlook (Часть 2)

Версия для печати Версия для печати

Эта статья переведена силами и средствами компании Red Line Software. Размещение данного переведенного материала на других сайтах без разрешения компании Red Line Software запрещается.

В первой части этой статьи я рассмотрел простейшее применение форм Outlook при создании примера Help Desk приложения. В этой статье мы узнаем, как улучшить графический интерфейс форм и как использовать автоматизацию форм, для того чтобы сделать формы Outlook более доступными и полезными.

Если вы пропустили первую часть этой статьи, пожалуйста, прочтите Разработка форм Outlook (Часть 1)

Прокручивание элементов

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

Если вы тестировали форму, созданную в первой части, то вы могли легко убедиться, что использование Tab при прокручивании дает вам возможность перемещаться гораздо быстрее. Это происходит потому, что я не настроил порядок, в котором элементы должны прокручиваться.

За это отвечает свойство "TabIndex", и его можно увидеть среди Дополнительных Свойств (Advanced Properties) объекта.

Рисунок 1

Значение свойства "TabIndex" для поля Subject равно 1, что делает его первым элементов, когда вы пробегаете по форме. Теперь мы можем установить значение свойства "TabIndex"  поля Room равным 2.

Рисунок 2

Подтверждение полей

Любая сложная форма имеет так называемое “Подтверждение полей”. Это значит, что форма проверяет, соответствуют ли поля стандартам. На пример, у вас есть форма для заказа расходных материалов для офиса. И вам, возможно, хочется ограничить максимальное количество, которое можно заказать. Или форма ввода пароля может потребовать ввести вас 6 или более символов.   

Вы можете подтверждать поля в формах Outlook на вкладке Validation в свойствах полей.

Рисунок 3

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

Рисунок 4

Вы также можете ввести выводимое сообщение, как показано ниже.

Рисунок 5

После того, как вы войдете в форму, вы сможете увидеть работу подтверждений в действии:

Рисунок 6

Я выбрал простое сообщение, но Вы можете создать и более сложное и встроить в него поля таким же образом, как и в формулу подтверждения, используя скобки.

Поиски формы

Спроектировав форму, Вы гордо посмотрите на нее, опубликуете ее и затем начнете получать жалобы от пользователей, так как потребуется по меньше мере пять раз нажать на мышку, чтобы получить к ней доступ. Microsoft предоставляет несметное множество решений этой проблемы, ни одно из них правда не является легко применимым в предприятии.

Первое что Вы, возможно, захотите сделать, если у Вас есть несколько пользовательских форм – это добавить кнопку “Выбрать форму” на одну из инструментальных панелей Outlook.

Чтобы сделать это Вы должны зайти в Tools – Customize menu и перетащить "Choose Form" на одну из существующих у Вас панелей инструментов.

Рисунок 7
Рисунок 8

Конечно, это не самое лучшее решение для частого использования формы. Office Resource Kit (ORK) может делать это лучше, но этот инструмент, не смотря на кое-какие улучшения с годами, все же остается сложным и требует дополнительных знаний о своей работе и очень аккуратного использования. В больших компаниях, где уже установлен Office, применение ORK затрудняется тем, что он требует единой, специализируемой установки Office для своей работы.  

Хотя все это может измениться в следующей версии Office, но в данное время Вы можете использовать для решения этой проблемы кое-какой программный код.

Первый шаг – это выяснить, как же называется Ваша форма. Outlook собирает формы по классам сообщений, которые начинаются с “IPM”, а затем следует иерархия создания формы.

На пример, наша форма была создана и использованием формы “Post” как ее модель, и поэтому будет называться "IPM.Post.Help Desk Call".

Рисунок 9

Теперь, когда мы знаем ее имя, мы можем создать макрос Outlook, который запустит нашу форму. Для того чтобы сделать это зайдите в меню Tools – Macros и создайте новый макрос. Имя макроса не может содержать пробелы и некоторые другие символы, так что лучше всего использовать простое имя.

Рисунок 10
Рисунок 11

Вот листинг программы:

Sub HelpDeskCall()
Set myFolder1 = Session.Folders("Public Folders")
Set myFolder2 = myFolder1.Folders("All Public Folders")
Set myFolder3 = myFolder2.Folders("Help Desk")
Set myItem = myFolder3.Items.Add("IPM.Post.Help Desk Call")
myItem.Display
End Sub

Как Вы видите, код достаточно прост. Он просто берет папку “Help Desk” и добавляет элемент help desk в нее, используя название нашей формы, и затем запускает ее.

Теперь Вы можете вручную добавить макрос в Вашу панель инструментов тем же способом, что мы добавили кнопку the “Choose Form”, используя Tool – Customize.

Рисунок 12
Рисунок 13

В режиме настройки Вы можете переименовать кнопку на что-то более понятное пользователям, щелкнув по ней правой кнопкой мыши. Вы также можете изменить ее картинку и внешний вид.

Рисунок 14

Это приближает нас к созданию дружелюбного приложения, но мы до сих пор далеки от возможности распространять его. Макросы VBA не могут распространяться так, как на то существуют технические причины, связанные с безопасностью. Вы можете запрограммировать макрос, используя среду программирования Visual Basic и создать встроенный в COM. Для этого Вам потребуются знания Visual Basic 6. Я видел программу, которая это делала, и поверьте мне, она была ужасна.

Поэтому, кажется самый простой выход – это запустить форму вне Outlook. Это покажется странным на первый взгляд, но это хорошо работает и это легко применить.  

Первым делом Вам надо создать vbscript апплет, который запускает форму:

Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.Application.GetNamespace("MAPI")
Set myfolder = myNameSpace.Folders("Public Folders").Folders("All Public folders").Folders("Help Desk")

Set myItem = myFolder.Items.Add("IPM.Post.Help Desk Call")
myItem.Display

На самом деле это более сложный VBA код, чем мы создали раньше. Сохраните этот код в “helpdeskcall.vbs”, и Вы можете распространять его среди всех своих пользователей. Для того чтобы его использовать создайте иконку быстрого запуска.

Для работы следующего скрипта  я поместил “helpdeskcall.vbs” на сервер, доступный всем пользователям. Скрипт создает ярлык для скрипта запуска формы help desk.

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")
Set colEnvironmentVariables = objShell.Environment("Volatile")

strQLFolder = colEnvironmentVariables.Item("APPDATA") & _
    "\Microsoft\Internet Explorer\Quick Launch"

Set objShortcut = objShell.CreateShortcut(strQLFolder & "\HelpDesk.lnk")

objShortcut.TargetPath = "\\ex2003\netlogon\helpdeskcall.vbs" objShortcut.Save

Пожалуйста, заметьте, что вы можете поменять стандартную иконку vbscript на любую иконку, установив свойство IconLocation, как показано ниже: 

objShortcut.

IconLocation = [path to icon], [icon number in icon library]

Заключение

Немного поиграв с графическим интерфейсом и применив пару строк кода, мы смогли улучшить доступность и используемость нашей простой формы. Форма сама до сих пор не содержит никакого кода, созданного нами, но она уже гораздо функциональней.

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

Если вы пропустили первую часть этой статьи, пожалуйста прочтите , Разработка форм Outlook (Часть 1)





Рейтинг:  
3.3 (голосов 3)  
 1   2   3   4   5    

Автор: Амит Зинман (Amit Zinman)
В настоящее время работает в качестве Менеджера Проекта и Системного Консультанта, руководя и консультируя в области миграций и разработок, основанных на Exchange и NT/Windows 2000, для больших компаний, таких как Checkpoint, Comverse, Smarteam, Nice, Aladdin и ведущих Банков Израиля. Также он участвует в написании скриптов и пользовательских решений для клиентов, основанных на ADSI, CDO и Visual Basic, и преподавании Windows 2000 и Exchange 2000 в MSCE колледжах и на лекциях в Microsoft User Groups.
Эта статья переведена и опубликована с разрешения http://www.msexchange.org

Эта статья переведена силами и средствами компании Red Line Software. Размещение данного переведенного материала на других сайтах без разрешения компании Red Line Software запрещается.





Печать пластиковых карт - это часть процесса изготовления и производства пластиковых карт
Изготовление и производство пакетов