Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Outlook: как сделать фильтр???

4.9K
04 августа 2003 года
dimon2003
1 / / 04.08.2003
Есть необходимость создавать программно фильтр в текущем представлении папки (типа <поле> = <значение>). Использую Office XP (SP 2) и MS Exchange

Для этого меняю свойство xml, соответсвующего View.
вот кусок кода:
// создаем парсер xml
Set objXML = CreateObject("MSXML2.DOMDocument.4.0")
// вытягиваем все view из нужной папки
Set objViews = Application.GetNameSpace("MAPI").Folders("Общие папки").Folders("Все общие папки").Folders("База клиентов").Folders("Курсы").Views
Set objView = objViews.Item("default")
// загружаем xml в парсер
objXML.loadXML(objView.XML)
Set objRoot = objXML.documentElement
Set newNode = objXML.createNode(1, "filter", "")
// ставим фильтр типа "сотрудник=test"
newNode.Text = "(""DAV:isfolder"" = false AND ""DAV:ishidden"" = false) AND (""http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/Сотрудник"" = 'Test')"
Set filterNode = objRoot.insertBefore(newNode, objRoot.childNodes.item(1))
objView.XML = objXML.XML
'Save and apply the new view.
objView.Save
// эпплаим view и показываем отфильтрованный фолдер
objView.Apply
Application.GetNameSpace("MAPI").Folders("Общие папки").Folders("Все общие папки").Folders("База клиентов").Folders("Курсы").Display

================
однако при попытке сохранения фильтра, возникает ошибка "Не удается правильно сохранить представление".
При попытке создать представление вручную из меню outlook (вид/тек. представление/изм. тек. представление/отбор/дополнительно), все работает. Однако, если я пытаюсь через это же меню напрямую применить автоматиечски сгенеренный (outlookom) SQL фильтр, получаю ошибку "Ошибка при анализе текста SQL" (и это текст SQL сгенеренный САМИМ outlook!!!).
Читал, что был такой баг outlook http://support.microsoft.com/default.aspx?scid=kb;en-us;314248 однако он ликвидировался в SP2, поставил обновление, но ошибка повторяется.
Кто-нибудь сталкивался с подобным????
Буду очень признателен за ответы.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог