Возможно, я мог бы начать с того, что есть подобный пост обсуждал подобный вопрос, но я хотел бы использовать другой код, чем написано в другом посте т.е. Outlook VBA Macro to move mail from subfolder to subfolderПеремещение конкретных сообщений электронной почты из вложенной папки в другую подпапку
Код, который я использую, взят с сайта msdn (https://msdn.microsoft.com/en-us/library/office/ff869653.aspx), и все, что я хочу сделать, - это перемещать письма из подпапки внутри папки «Входящие», а не использовать папку «Входящие» в другую подпапку.
Допустим имя подпапки Я хочу искать почту от называется «Маркетинг»
код я хочу изменить следующим образом,
Sub CreateRule()
Dim colRules As Outlook.Rules
Dim oRule As Outlook.Rule
Dim colRuleActions As Outlook.RuleActions
Dim oMoveRuleAction As Outlook.MoveOrCopyRuleAction
Dim oFromCondition As Outlook.ToOrFromRuleCondition
Dim oExceptSubject As Outlook.TextRuleCondition
Dim oInbox As Outlook.Folder
Dim oMoveTarget As Outlook.Folder
'Specify target folder for rule move action
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
'Assume that target folder already exists
Set oMoveTarget = oInbox.Folders("Advertisement")
'Get Rules from Session.DefaultStore object
Set colRules = Application.Session.DefaultStore.GetRules()
'Create the rule by adding a Receive Rule to Rules collection
Set oRule = colRules.Create("Advert rule", olRuleReceive)
'Specify the condition in a ToOrFromRuleCondition object
'Condition is if the message is from "[email protected]"
Set oFromCondition = oRule.Conditions.From
With oFromCondition
.Enabled = True
.Recipients.Add ("[email protected]")
.Recipients.ResolveAll
End With
'Specify the action in a MoveOrCopyRuleAction object
'Action is to move the message to the target folder
Set oMoveRuleAction = oRule.Actions.MoveToFolder
With oMoveRuleAction
.Enabled = True
.Folder = oMoveTarget
End With
'Specify the exception condition for the subject in a TextRuleCondition object
'Exception condition is if the subject contains "new" or "interest"
Set oExceptSubject = _
oRule.Exceptions.Subject
With oExceptSubject
.Enabled = True
.Text = Array("new", "interest")
End With
'Update the server and display progress dialog
colRules.Save
End Sub
Я предполагаю, что мне нужно для изменения этих строк, но не уверен, как он ищет внутри подпапки, а не в папке «Входящие».
'Specify target folder for rule move action
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
Ваша помощь будет принята с благодарностью!
От 'Marketing' до' Where'? все электронные письма или специальные письма? – 0m3r
От маркетинга до рекламы (установите oMoveTarget = oInbox.Folders («Реклама») и переместите все электронные письма, кроме тех, у кого есть «новый» или «интерес» в теме. Это условие в настоящее время распространяется уже в коде Исключения. код работает, перемещая письма с «Входящие» на «Реклама» – Nosferatu