Метод Selection.Item (Outlook)
Возвращает элемент Microsoft Outlook или заголовок беседы из выделенного фрагмента.
Синтаксис
expression. Item (Index)
Выражение Переменная, представляющая объект Selection.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Индекс; | Обязательный | Variant | Номер индекса объекта или значение, используемое для сопоставления свойства объекта по умолчанию в коллекции. |
Возвращаемое значение
Объект , представляющий указанный элемент или заголовок беседы.
Замечания
Не делайте никаких предположений о типе возвращаемого значения метода Item ; код должен иметь возможность обрабатывать несколько типов элементов или объект ConversationHeader . Например, метод Item может возвращать appointmentItem, MailItem, MeetingItem или TaskItem в папке "Входящие" в зависимости от значения свойства Selection.Location .
Коллекция Selection содержит объекты ConversationHeader только в том случае, если вы указали olConversationHeaders в методе GetSelection объекта Selection .
Пример
В следующем примере Microsoft Visual Basic для приложений (VBA) отображается отправитель каждого выбранного элемента в активном обозревателе. Он использует свойства Count и метод Item объекта Selection , возвращаемого свойством Explorer.Selection , для отображения отправителей всех сообщений, выбранных в активном обозревателе.
Sub GetSelectedItems()
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim mySender As Outlook.AddressEntry
Dim oMail As Outlook.MailItem
Dim oAppt As Outlook.AppointmentItem
Dim oPA As Outlook.PropertyAccessor
Dim strSenderID As String
Const PR_SENT_REPRESENTING_ENTRYID As String = _
"http://schemas.microsoft.com/mapi/proptag/0x00410102"
Dim MsgTxt As String
Dim x As Long
MsgTxt = "Senders of selected items:"
Set myOlExp = Application.ActiveExplorer
Set myOlSel = myOlExp.Selection
For x = 1 To myOlSel.Count
If myOlSel.Item(x).Class = OlObjectClass.olMail Then
' For mail item, use the SenderName property.
Set oMail = myOlSel.Item(x)
MsgTxt = MsgTxt & oMail.SenderName & ";"
ElseIf myOlSel.Item(x).Class = OlObjectClass.olAppointment Then
' For appointment item, use the Organizer property.
Set oAppt = myOlSel.Item(x)
MsgTxt = MsgTxt & oAppt.Organizer & ";"
Else
' For other items, use the property accessor to get sender ID,
' then get the address entry to display the sender name.
Set oPA = myOlSel.Item(x).PropertyAccessor
strSenderID = oPA.GetProperty(PR_SENT_REPRESENTING_ENTRYID)
Set mySender = Application.Session.GetAddressEntryFromID(strSenderID)
MsgTxt = MsgTxt & mySender.Name & ";"
End If
Next x
Debug.Print MsgTxt
End Sub
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.