Правило, которое запрашивает пользователя один раз, но применяет результаты к нескольким сообщениям? - PullRequest
0 голосов
/ 01 мая 2018

Я хочу применить специальную категорию для выбора электронных писем Outlook.

У меня есть сценарий VBA, который запрашивает у пользователя строку, а затем устанавливает ее в качестве категории электронного письма. Я запускаю это, перемещая все электронные письма, которые нужно обновить, во временную папку, а затем запускаю правило Outlook для всех сообщений в этой папке.

Public Sub PromptForCat(Email As Outlook.MailItem)
   Category = InputBox("Please enter category to add :")
   Email.Categories = Email.Categories & "," & Category
   Email.Save
End Sub

Тем не менее, это будет запрашивать меня для каждого сообщения в папке - есть ли способ запросить меня только один раз, но применить результат ко всем сообщениям в папке?

1 Ответ

0 голосов
/ 01 мая 2018

Если вам нужно запустить код один раз для выбранной папки, вам нужно перебрать все элементы в папке. Свойство Items класса Folder возвращает объект коллекции Items в виде коллекции элементов Outlook в указанной папке:

Sub ContactDateCheck() 
  Dim myNamespace As Outlook.NameSpace 
  Dim myContacts As Outlook.Items 
  Dim myItem As Object 

  Set myNamespace = Application.GetNamespace("MAPI") 
  Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items 
  For Each myItem In myContacts 
    If (myItem.Class = olContact) Then 
      MsgBox myItem.FullName &; ": " &; myItem.LastModificationTime 
    End If 
  Next 
End Sub

Чтобы получить выбранные элементы в Outlook, вам нужно использовать свойство Selection класса Explorer:

Sub GetSelectedItems()
  Dim myOlExp As Outlook.Explorer
  Dim myOlSel As Outlook.Selection
  Dim MsgTxt As String
  Dim x As Integer

  MsgTxt = "You have selected items from: "
  Set myOlExp = Application.ActiveExplorer
  Set myOlSel = myOlExp.Selection
  For x = 1 To myOlSel.Count
    MsgTxt = MsgTxt & myOlSel.Item(x).SenderName & ";"
  Next x
  MsgBox MsgTxt
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...