Автосохранение вложений - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы