В Outlook 2010 у меня это сработало, и я не нашел отчетов об ошибках. Какой у вас точный код? Что вы имеете в виду под «проверить объект элемента»?
Вы просто помещаете свой код в событие следующим образом:
Private Sub Application_ItemLoad(ByVal Item As Object)
MsgBox "New mail item."
End Sub
Это все.
Я надеюсь, что эти замечания, предоставленные MS, будут вам полезны: http://msdn.microsoft.com/en-us/library/office/ff868544.aspx
Примечания:
Это событие происходит, когда элемент Outlook начинает загружаться в память. Данные для элемента еще недоступны, кроме значений свойств Class и MessageClass элемента Outlook, поэтому возникает ошибка при вызове любого свойства, отличного от Class или MessageClass, для элемента Outlook, возвращаемого в Item. Точно так же ошибка возникает при попытке вызвать любой метод из элемента Outlook или при вызове метода GetObjectReference объекта Application для элемента Outlook, возвращенного в Item.
Изменить:
Лучшее, что я смог придумать, это поместить этот код в метод события Application_ItemSend:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myInspector
Dim wdDoc
Dim rng
Set myInspector = Item.GetInspector
Set wdDoc = myInspector.WordEditor
Set rng = wdDoc.Application.Selection
With rng
With rng.Style.Font
.Name = "Arial Black"
.Size = 12
End With
End With
Set myInspector = Nothing
Set wdDoc = Nothing
End Sub
Проблема в том, что вы не можете установить свойства элемента, который еще не доступен (как описано в MS). Ну, с этой точки зрения это на самом деле невозможно.
person
html_programmer
schedule
24.10.2012