Поделиться через


Свойство Explorer.Selection (Outlook)

Возвращает объект Selection , содержащий элемент или элементы, выбранные в окне проводника. Только для чтения.

Синтаксис

expression. Выбор

Выражение Переменная, представляющая объект Explorer.

Замечания

Расположение выделенного фрагмента в обозревателе может находиться в списке представлений, списке встреч или задач на панели To-Do или списке ежедневных задач в представлении календаря. Дополнительные сведения см. в разделе Свойство Location .

Свойство Selection не включает объекты заголовка беседы. Вызовите метод Selection.GetSelection , предоставляя olConversationHeaders в качестве аргумента, чтобы получить объекты заголовков диалога, выбранные в обозревателе.

Если в текущей папке отображается домашняя страница папки, это свойство возвращает пустую коллекцию. Кроме того, если выбран заголовок группы, например "Сегодня", или заголовок группы беседы, свойство Count для возвращенного объекта 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 the 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

См. также

Объект Explorer

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.