Я хочу создать правило, которое сохраняет все вложения из определенного электронного письма в определенную папку.
Правило, которое я сделал: - Если письмо пришло от [письма, которое я отметил] - только на этом компьютере - Затем запустите скрипт: Project1.SaveAttachmentsToDisk
Мой код VBAвыглядит так:
Public Sub SaveAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oAttachment As Outlook.Attachment
Dim sSaveFolder As String
sSaveFolder = "C:\Users\j88x\Documents\My folder\"
For Each oAttachment In MItem.Attachments
oAttachment.SaveAsFile sSaveFolder & oAttachment.DisplayName
Next
End Sub
Когда я запускаю правило, оно выглядит так, будто оно работает, но я не получаю файлы в своей папке.Правило работает на мой почтовый ящик, где все письма.
Я не знаю VBA, поэтому извините, если это простая ошибка в коде.
Я пришел к выводу о нескольких возможностях неработающего кода:
- Я не администратор на моем компьютере.У меня есть только C-диск, поэтому я не могу проверить его на другом диске (но я пробовал другие папки).
- У меня есть значения в моем редакторе реестра в HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 16.0 \ Outlook \ Security, которые имеют значение 1. Они называются PublicFolderScript и SharedFolderScript.Я попытался установить их в 0, и это ничего не меняет (да, я сделал перезагрузку Outlook).
- Мой внешний вид не английский.Я действительно не думаю, что это так, но у меня заканчиваются опции
- Чтобы получить правило «Выполнить скрипт» в редакторе правил, мне пришлось добавить значение в редакторе реестра с именем EnableUnsafeClientMailRules, установленное в1. Я не думаю, что это что-то делает, но я хотел сказать.
- Также у меня есть тип REG_SZ в моем редакторе реестра под названием OutlookSecureTempFolder.Я не знаю, что это, но это путь, и он содержит файлы, которые я прикрепил ранее (или, возможно, это файлы, которые я скачал. Я не уверен.)