Страница: 1 |
Страница: 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).