Автосохранение вложений - VB
Формулировка задачи:
Приветствую, коллеги! Есть необходимость подкорректировать следующий код. Данный код исправно выполняет автосохранение вложений на жесткий диск из входящей почты в Outlook 2010. Есть необходимость дополнить его. Потому, как кое-кто бывает отправляет в одном письме несколько .xls файлов с одинаковым именем, но содержание у них разное. Сделал добавление к имени файла время получения, аж до секунд. Но это конечно же не помогло, т.к. как я уже написал выше, кучка файлов находится в одном месседже, а скрипт берет дату этого самого месседжа. Значит нужно добавить в скрипт рандомное переименование с проверкой на существование файла с таким же именем. Т.е., к примеру, в письме есть кучка файлов с именем "r141126.xls". Скрипт выгружает первый файл без изменений, далее он хочет выгрузить следующий файл, смотрит файлы с таким же именем, обнаруживает, добавляет к следующему случайное число (например 555 r141126.xls) или же знак (например + r141126.xls). Ну и так далее.
Вот, собственно, код. Заранее спасибо за помощь.
Решение задачи: «Автосохранение вложений»
textual
Листинг программы
Public Sub saveBashkomToDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String,d as string 'Dim dateFormat 'dateFormat = Format(Now, "dd-mm-yyyy H-mm-ss ") saveFolder = "E:\ПОЧТА\ОПЛАТА_ДЕТСКИЕ_САДЫ\КольцоУрала\" For Each objAtt In itm.Attachments d="" while dir(saveFolder & d & objAtt.DisplayName)<>"" d=val(d)+1 wend objAtt.SaveAsFile saveFolder & d & objAtt.DisplayName Set objAtt = Nothing Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д