vba перемещать электронную почту в папку, если тема похожа?


0

Я использую следующий код для перемещения электронных писем из моего почтового ящика в другую папку под названием Поставщик. В настоящее время работает, если предметом является «Введение», но нет, если субъектом является «мое введение»

Что я хочу сделать, это добавить строку, в которой говорится, что субъект или тело LIKE «введение» или «как» вводят 'или Like' Supply 'и т. д.

Также у меня есть несколько учетных записей в моем Outlook, на данный момент этот код работает только для моей учетной записи по умолчанию, но я хочу, чтобы он работал для моей учетной записи под названием «Покупка @ Hewden». co.uk ', есть ли способ изменить это? моя папка «поставщик» находится в папке «Входящие» моей учетной записи [email protected], и я хочу переместить электронное письмо из этого почтового ящика в папку поставщика.

Sub MoveItems() 
Dim myNameSpace As Outlook.NameSpace 
Dim myInbox As Outlook.Folder 
Dim myDestFolder As Outlook.Folder 
Dim myItems As Outlook.Items 
Dim myItem As Object 


Set myNameSpace = Application.GetNamespace("MAPI") 
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox) 
Set myItems = myInbox.Items 
Set myDestFolder = myInbox.Folders("Supplier") 
Set myItem = myItems.Find("[Subject] = 'Introduction'") 
While TypeName(myItem) <> "Nothing" 
myItem.Move myDestFolder 
Set myItem = myItems.FindNext 
Wend 
End Sub 
+1

Вам вообще не нужен VBA. Создайте фильтр. 08 окт. 142014-10-08 14:55:14

  0

Я пробовал использовать правило, но это не делает то, что я хочу, я бы предпочел использовать vba, если смогу 08 окт. 142014-10-08 14:55:54

  0

. Что не может сделать это правило vba? 08 окт. 142014-10-08 14:56:34

  0

правила не всегда будут читать тему, если она не написана точно, vba позволяет вам делать подобный предмет, например, если субъект содержит «это введение», то vba может выбрать это, где, как правило, не будет 08 окт. 142014-10-08 14:59:18

  0

ключевое слово в теме «введение» 08 окт. 142014-10-08 14:59:46

  0

Это не должно быть точно. У вас может быть правило, которое ищет введение в теме и сортируется оттуда. Какую версию Outlook вы используете? 08 окт. 142014-10-08 15:02:44

  0

вам нужно использовать Application.AdvancedSearch, а затем вы можете использовать ключевое слово Like: см. Http://msdn.microsoft.com/en-us/library/office/ff866933(v=office.15).aspx 08 окт. 142014-10-08 15:08:10

0

Я знаю, что вопрос задан для кода, однако это можно сделать намного проще с помощью правил. Если этот ответ не нужен, я удалю его.

В любом случае, вы должны прочитать на this и this, чтобы узнать о правилах, они действительно потрясающие. Вам нужно создать новое правило и настроить фильтр на основе ключевого слова в строке темы, вы можете просто написать «введение», и Outlook будет знать, что искать это слово.

Вы также должны указать, куда идет электронное письмо, и в моем случае вам также необходимо указать, какое вид уведомления (если есть) отображается при поступлении новой почты.

Все это должно быть доступно в соответствии с Правилами -> Создать новое правило.