Событие ReportItem.BeforeRead (Outlook)
Происходит до того, как Microsoft Outlook начнет считывать свойства элемента.
Синтаксис
выражение. BeforeRead
Выражение Переменная, представляющая объект ReportItem .
Замечания
Событие BeforeRead возникает перед событием Read . В отличие от других событий с префиксом Before, это событие нельзя отменить. Чтобы определить, когда элемент выгружается из памяти, используйте событие Выгрузить .
Событие BeforeRead соответствует событию Exchange Client Extensions (ECE) IExchExtMessageEvents::OnRead.
В событии BeforeRead можно получить доступ только к следующим элементам объекта элемента:
MAPIOBJECT
Свойство MAPIOBJECT является скрытым свойством в объектной модели Outlook. Это свойство предоставляет доступ к базовому объекту MAPI IMessage и может вызываться только через интерфейс IUnknown . Свойство доступно для программ, написанных на таких языках, как C или C++, которые поддерживают IUnknown. MAPIOBJECT недоступен через интерфейс IDispatch . Такие языки разработки, как Visual Basic для приложений (VBA), Visual C# и Visual Basic, поддерживают интерфейс IDispatch, а не IUnknown, поэтому они не могут получить доступ к MAPIOBJECT. Если в этом случае используется доступ к другим свойствам или методам родительского элемента, Outlook выдает ошибку.
Если реализатор обращается к базовому объекту IMessage и изменяет свойства этого объекта, Outlook отрисовывает этот элемент, отражающий изменения объекта IMessage . Реализующий объект не должен вызывать SaveChanges в объекте IMessage , чтобы изменения отражались в Outlook.
Перед завершением события разработчики должны освободить объект, полученный из свойства MAPIOBJECT . Попытка использовать этот объект вне контекста события не поддерживается и приводит к непредсказуемому поведению.
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.