Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Загадка природы при работе с MS Outlook


Автор: mihanik 16.3.2007, 19:54
Привет всем.

Сегодня наблюдаю интересное явление.
Пишу программу на VBS.

Нужно создавать контакты в MS Outlook.

Упрощённо текст программы примерно следующий...

Код

' Создадим объект Outlook
     Set OutlookApp = CreateObject( "Outlook.Application" )

' Создаю новый контакт
      Set Contact = OutlookApp.CreateItem(2)

' Получаю коллекцию свойств контакта
      Set Prop = Contact.ItemProperties

' Задаю значения свойств
      Prop.Item ( "FirstName" ).Value = "Name"
      ...

' Сохраняю контакт
      Contact.save

' Разрушаем объекты
      Set Prop       = Nothing
      Set Contact    = Nothing
      Set OutlookApp = Nothing


Прикол в следующем.

Если во время работы моего скрипта Outlook уже был запущен (т.е. сначала запускаю аутлук, а потом мой скрипт), то всё отрабатывает нормально.
Контакт создаётся по всем правилам военной науки.

Однако!!!
Если аутлук запущен не был, то контакт не создаётся.
(Замечу, что во время работы моего скрипта аутлук в процесах появляется).
Т.е. запускаю скрипт. Скрипт отрабатывает без ошибок.
Запускаю аутлук - контакта нет.  smile 

Но это ещё не всё.
Если я опять запущу аутлук, а потом свой скрипт, то (вот смех-то!!!)
появляются и те контакты, которые я создавал до этого.

Т.е.
1. Запускаю скрипт. Он отрабатывает, создавая контакт №1.
2. Открываю Outlook . Созданного контакта не видно.  smile 
3. НЕ ЗАКРЫВАЮ Outlook.  smile 
4.  Запускаю скрипт. Он отрабатывает, создавая контакт №2.
5. В Outlook появляются оба контакта №1 и №2.  smile  smile 

Как решить проблему?
Хочу чтобы контакты создавались вне зависимости от того, запущен предварительно аутлук, или нет...



Автор: Cyric 19.3.2007, 01:11
Попробуй сохранять объекты.

Т.е. добавь в код
Код

Contact.Save

Автор: mihanik 19.3.2007, 08:27
Cyric, вообще-то я это делаю...

Цитата(mihanik @  16.3.2007,  19:54 Найти цитируемый пост)
 Сохраняю контакт
      Contact.save


 smile 

Автор: Cyric 20.3.2007, 00:27
Ой, туплю совсем smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)