Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Автоматическое сохранение письма Microsoft Outlook Добавлено: 01.07.04 11:49  

Автор вопроса:  fvn
Подскажите, пожалуйста, как сделать так чтобы при получении письма от определенного отправителя, файл вложение сохранялся в определенной папке, под определенным именем?

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 digitron



Вопросов: 2
Ответов: 23
 Профиль | | #1 Добавлено: 04.07.04 19:12
1. Используй событие Application_NewMail() для отловли нового письма

2. Ищи новые письма по критерию [Unread] = True

3. Для каждого найденного письма проверяй имя отправителя

4. Если нашёл нужное письмо - используй метод SaveAsFile объекта Attachment в коллекции Attachments.

5. Не забывай пометить письмо, как прочтённое, иначе этот аттачмент у тебя будет записываться при каждом пришедшем новом письме.

Пример кода: (внимание! не проверял. Работоспособность не гарантируется. Использовать как подсказку only!)

Private Sub Application_NewMail()

Dim olns As NameSpace
Dim myFolder As MAPIFolder
Dim MyItems As Items
Dim MyClause As String
Dim myItem As MailItem

Set olns = Application.GetNamespace("MAPI";)
Set myFolder = olns.GetDefaultFolder(olFolderInbox)
Set MyItems = myFolder.Items
MyClause = "[Unread] = True"
Set myItem = MyItems.Find(MyClause)
Do While Not (myItem Is Nothing)
  If myItem.SenderName = "<Имя отправителя>" Then
     myItem.Attachments.Item(0).SaveAsFile "C:\Директорий\имя файла.txt"
     myItem.UnRead = False
  End If
  Set myItem = MyItems.FindNext
Loop

End Sub

Ответить

Номер ответа: 2
Автор ответа:
 fvn



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 05.07.04 04:39
Спасибо.
А если вложений будет несколько?

Ответить

Номер ответа: 3
Автор ответа:
 fvn



Вопросов: 1
Ответов: 2
 Профиль | | #3 Добавлено: 05.07.04 05:00
И еще,
Если файлы сохраняются по датам (например
Пример-040704-1.doc) как проверить индекс последнего сохраненного файла и в соответствии с ним присвоить следующий индекс сохраняемому файлу.
Например:
Пришло новое письмо - проверяем от кого - сохраняем, если уже есть сохраненный файл за эту дату смотрим индекс и даем имя сохраняемому файлу.
(смотрим есть Пример-040704-1.doc значит сохраним как Пример-040704-2.doc).

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам