2

Каждое утро я получаю автоматически сгенерированное электронное письмо от сервера, оно включает в себя электронную таблицу. Я сделал правило в Outlook, которое фиксирует эти письма. Теперь я хотел бы сделать макрос для переименования вложенного файла (. Xls) to = today () и сохраняет его в папке на сетевом диске. Этот макрос должен запускаться каждый будний день в 8:00. Я сделал много VBA в Excel, но у меня нет опыта работы с Outlook. Может ли это быть возможно? И кто-нибудь знает, как это сделать?

С наилучшими пожеланиями Staal

2 ответа2

1

Зачем откладывать сохранение до 8:00?

В правиле, которое "захватывает эти письма", сохраняйте с помощью "Запустить скрипт".

Sub saveAttachtoDisk(itm As Outlook.MailItem)

Dim objAtt As Outlook.Attachment
Dim saveFolder As String

saveFolder = "D:\temp"  ' change to your path

For Each objAtt In itm.Attachments
    objAtt.SaveAsFile saveFolder & "\" & Format(Now, "yyyy-mm-dd") & ".xls"
Next

End Sub

Редактировать на основе комментария:

Не уверен, что вы захотите сделать это внутри saveAttachtoDisk, но для работы с книгой после ее сохранения существует Excel.

Попробуйте GetObject, если есть ошибка, тогда используйте CreateObject("Excel.Приложение ")http://support.microsoft.com/kb/288902

Тогда что-то вроде этого или любой другой способ работает для вас, так как вы знаете Excel VBA.

Workbooks.Открыть (имя файла)

Рабочие листы (1).Имя = "Лист 1"


Редактировать 2 на основе комментария:

Вы должны передать параметр.

Откройте mailitem тогда F8 здесь.

Sub saveAttachtoDisk_test
Dim currItem as mailitem
set curritem = activeinspector.currentitem
saveAttachtoDisk curritem
set currItem = nothing
end sub
0

Причина, по которой я прокомментировал этот вопрос, заключается в том, что не существует адекватного способа достижения желаемого результата только с помощью Outlook VBA. Вам нужно будет найти какое-то стороннее решение. Я лично могу порекомендовать продукт моей компании: ReliefJet Essentials для Outlook Professional Edition. Он предоставляет командную строку, которую можно использовать для планирования утилиты сохранения вложений с помощью планировщика задач Windows. Хотя вы не сможете переименовать само вложение, можно создать папку с любым шаблоном даты и времени, который вы можете себе представить для своих вложений. Единственный недостаток: за это надо платить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .