Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранение вложений из сообщений Outlook - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Сохранение вложений из сообщений Outlook
Anis625 Дата: Пятница, 03.09.2021, 10:17 | Сообщение № 1
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Добрый день, всем участникам форума!

Пользуюсь рабочим кодом автоматического сохранения вложений из сообщений 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
К сообщению приложен файл: 9862221.png (6.0 Kb)


Сообщение отредактировал Anis625 - Пятница, 03.09.2021, 10:18
 
Ответить
СообщениеДобрый день, всем участникам форума!

Пользуюсь рабочим кодом автоматического сохранения вложений из сообщений 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

Автор - Anis625
Дата добавления - 03.09.2021 в 10:17
Anis625 Дата: Пятница, 03.09.2021, 11:25 | Сообщение № 2
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
Проблема была в настройках разрешения макросов.
+применил чуть-чуть отличающийся код (не понял конечно как это повлияло, т.к. после изменения настроек со старым кодом он по прежнему не работал):
[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

End Sub
[/vba]

Автор - Anis625
Дата добавления - 03.09.2021 в 11:25
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!