Перемещение конкретных сообщений электронной почты из вложенной папки в другую подпапку


-1

Возможно, я мог бы начать с того, что есть подобный пост обсуждал подобный вопрос, но я хотел бы использовать другой код, чем написано в другом посте т.е. 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) 

Ваша помощь будет принята с благодарностью!

  0

От 'Marketing' до' Where'? все электронные письма или специальные письма? 24 июн. 162016-06-24 22:45:23

  0

От маркетинга до рекламы (установите oMoveTarget = oInbox.Folders («Реклама») и переместите все электронные письма, кроме тех, у кого есть «новый» или «интерес» в теме. Это условие в настоящее время распространяется уже в коде Исключения. код работает, перемещая письма с «Входящие» на «Реклама» 25 июн. 162016-06-25 00:54:40

0

Установите вложенную папку

'Specify target folder for rule move action 
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox).Folders("Marketing") 
+1

oh wow ... это сработало как шарм ... Это именно то, что я хотел! Спасибо снова! 27 июн. 162016-06-27 07:57:48


0

Класс Folder обеспечивает Folders свойство, которое возвращает коллекцию Folders, которая представляет все папки, содержащиеся в указанной папке.

Если вам нужно, чтобы получить папку с именем «Marketing» вы можете использовать следующий код:

Set oMoveTarget = oInbox.Folders("Marketing") 

В случае, если папка расположена вниз к дереву, вам придется обратиться к свойству папки рекурсивно, например, см. How to: Enumerate Folders.

Наконец, вы можете найти полезную статью Getting Started with VBA in Outlook 2010.

  0

Спасибо за информацию. посмотрите на ссылку, но ответ, который я искал, добавлял следующее, чтобы я мог перемещать материал из этой подпапки. Спасибо в любом случае! Установить oInbox = Application.Session.GetDefaultFolder (olFolderInbox) .Folders ("Marketing"). 27 июн. 162016-06-27 08:01:03