Я пытаюсь создать макрос, который изменяет тему электронной почты, соответствующую критериям, которые пользователь выполнил.Изменение темы выбранных элементов в Outlook с помощью VBA
Так, например, пользователь выполняет поиск «яблоки» в своем почтовом ящике, а затем использует этот макрос, чтобы изменить все электронные письма, связанные с яблоками, чтобы [APPLES]
в теме.
Проблема в том, что код, который у меня есть, изменяет тему только одного электронного письма, на которое нажал пользователь, а не всех выбранных сообщений электронной почты. Я довольно новичок в VBA, но я уверен, что он имеет какое-то отношение к ActiveExplorer
и функциям выбора, которые я использую.
Вот код:
Sub AddString()
Dim myolApp As Outlook.Application
Dim aItem As Object
Set myolApp = CreateObject("Outlook.Application")
Set mail = myolApp.ActiveExplorer.CurrentFolder
Dim iItemsUpdated As Integer
Dim strTemp As String
Dim strString As String
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Object
' User input
strString = InputBox("Enter the project code")
iItemsUpdated = 0
' Empty value or cancel button
If strString = "" Then Exit Sub
' Writes string to e-mail subject
Set myOlExp = myolApp.ActiveExplorer
Set myOlSel = myOlExp.Selection
For x = 1 To myOlSel.Count
strTemp = "[" & strString & "] " & myOlSel.Item(x).Subject
myOlSel.Item(x).Subject = strTemp
myOlSel.Item(x).Save
iItemsUpdated = iItemsUpdated + 1
Next x
' Tells user how many items have been updated
MsgBox iItemsUpdated & " of " & mail.Items.Count & " Messages Updated"
Set myolApp = Nothing
End Sub