Пользуюсь рабочим кодом автоматического сохранения вложений из сообщений Outlook: [vba]
Код
Public Sub saveAttachtoDisk(itm As Outlook.MailItem) ' сохранение файлов на жестком диске Dim objAtt As Outlook.Attachment Dim saveFolder As String dateOfMailItem = Format(itm.CreationTime, "yyyy.mm.dd.hhnnss") saveFolder = "C:\Users\burkeevaz\Desktop\Тест" For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateOfMailItem & "_" & objAtt.FileName Set objAtt = Nothing Next End Sub
[/vba] Сообщения отрабатываются по правилу (во вложении). На моем компьютере (2016 офис) отлично работает. Подскажите, пожалуйста, в чем может причина что на другом компьютере (офис 2019) правило работает на половину (перемещает только сообщения в заданную папку), а VBA скрипт не срабатывает?
Модераторам: sorry не там задал вопрос. Перенесите, пожалуйста, в ветку VBA
Добрый день, всем участникам форума!
Пользуюсь рабочим кодом автоматического сохранения вложений из сообщений Outlook: [vba]
Код
Public Sub saveAttachtoDisk(itm As Outlook.MailItem) ' сохранение файлов на жестком диске Dim objAtt As Outlook.Attachment Dim saveFolder As String dateOfMailItem = Format(itm.CreationTime, "yyyy.mm.dd.hhnnss") saveFolder = "C:\Users\burkeevaz\Desktop\Тест" For Each objAtt In itm.Attachments objAtt.SaveAsFile saveFolder & "\" & dateOfMailItem & "_" & objAtt.FileName Set objAtt = Nothing Next End Sub
[/vba] Сообщения отрабатываются по правилу (во вложении). На моем компьютере (2016 офис) отлично работает. Подскажите, пожалуйста, в чем может причина что на другом компьютере (офис 2019) правило работает на половину (перемещает только сообщения в заданную папку), а VBA скрипт не срабатывает?
Модераторам: sorry не там задал вопрос. Перенесите, пожалуйста, в ветку VBAAnis625
Проблема была в настройках разрешения макросов. +применил чуть-чуть отличающийся код (не понял конечно как это повлияло, т.к. после изменения настроек со старым кодом он по прежнему не работал): [vba]
Код
Public Sub saveAtt (itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment 'переменная для работы с вложениями Dim saveFolder As String 'переменная для пути к папке сохранения Dim sDateMail as string 'переменная для даты письма 'сохраняем в правильном формате время создания сообщения sDateMail = Format(itm.CreationTime, "hh-mm-ss_dd.mm.yyyy")
'задаем путь к папке сохранения saveFolder = "C:\Users\Igor Solobay\Desktop\" 'перебираем все вложения в письме For each objAtt in itm.Attachments 'сохраняем вложение в папку под именем: дата письма + название файла вложения objAtt.SaveAsFile saveFolder & "\" & sDateMail & "_" & objAtt.FileName 'очищаем переменную с вложением Set objAtt = Nothing Next objAtt
End Sub
[/vba]
Проблема была в настройках разрешения макросов. +применил чуть-чуть отличающийся код (не понял конечно как это повлияло, т.к. после изменения настроек со старым кодом он по прежнему не работал): [vba]
Код
Public Sub saveAtt (itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment 'переменная для работы с вложениями Dim saveFolder As String 'переменная для пути к папке сохранения Dim sDateMail as string 'переменная для даты письма 'сохраняем в правильном формате время создания сообщения sDateMail = Format(itm.CreationTime, "hh-mm-ss_dd.mm.yyyy")
'задаем путь к папке сохранения saveFolder = "C:\Users\Igor Solobay\Desktop\" 'перебираем все вложения в письме For each objAtt in itm.Attachments 'сохраняем вложение в папку под именем: дата письма + название файла вложения objAtt.SaveAsFile saveFolder & "\" & sDateMail & "_" & objAtt.FileName 'очищаем переменную с вложением Set objAtt = Nothing Next objAtt