Как применить действие к нескольким выбранным элементам Outlook? - PullRequest
1 голос
/ 17 июня 2011

Код здесь работает только для одного элемента.Как изменить это для запуска DisplayItemMetadata (см. Код) для каждого выбранного элемента?

Upd.попытался сделать следующее:

For Each individualItem In Application.ActiveExplorer.Selection
    With objButton
        .BeginGroup = True
        .Caption = "My &item"
        .FaceId = 1000
        .Tag = "DisplayItemMetadata"
        If Not IsNull(Selection.Item(1)) Then
            On Error GoTo 0
            ' Just in case the item selected
            ' doesn't have a valid EntryID.
            ' .Parameter = Selection.Item(1).EntryID
            .Parameter = individualItem.EntryID
            On Error GoTo ErrRoutine
        End If
        .OnAction = _
            "Project1.ThisOutlookSession.DisplayItemMetadata"
    End With

Next individualItem

1 Ответ

4 голосов
/ 17 июня 2011

Вам нужно перебрать объект Selection следующим образом:

Dim individualItem As Object
For Each individualItem In Application.ActiveExplorer.Selection
    'Perform some action on individualItem
Next Message

Если у вас есть функция, которая выполняет действие с одним выбранным элементом, вам следует изменить эту функцию, чтобы получить параметр (элемент для выполнения действия), а затем вызовите эту функцию внутри цикла выше.

...