Я не могу видеть, как мой макрос VBA находится в поле "запускать script"
Я скопировал следующий код в моем VUE VUE из одного из сообществ VBA и внесла в него изменения в соответствии с моей потребностью.
Я могу запустить его с помощью F5 и F8. Теперь я хотел бы запускать этот макрос всякий раз, когда получаю электронное письмо в папке1.
Я попытался настроить правило, но я не вижу макроса, указанного в поле "запустить a script".
Я уже проверил, что
- настройка безопасности макроса верна.
- макрос находится в модуле не в классе
Не могли бы вы рассказать мне, что происходит в настройке.
Public Sub SaveAttachments()
Dim myOlapp As Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim yourFolder As Outlook.MAPIFolder
Dim myItem As Outlook.MailItem
Dim myAttachment As Outlook.Attachment
Dim I As Long
Set myOlapp = CreateObject("Outlook.Application")
Set myNameSpace = myOlapp.GetNamespace("MAPI")
Set myFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set yourFolder = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myFolder = myFolder.Folders("folder1")
Set yourFolder = yourFolder.Folders("folder2")
For Each myItem In myFolder.Items
If myItem.Attachments.Count <> 0 Then
For Each myAttachment In myItem.Attachments
I = I + 1
myAttachment.SaveAsFile "C:\arthur\test.csv"
Next
End If
myItem.Move yourFolder
Next
End Sub
Ответы
Ответ 1
Чтобы быть признанным в качестве правильного макроса сценария для мастера правил, макрос должен иметь ожидаемый параметр:
Sub myRuleMacro(item as Outlook.MailItem)
статья MSDN (все еще действительна для Outlook 2007/2010/2013/2016)
Связанная статья
Статья о включении правил run-a-script в противном случае отключена по соображениям безопасности
(ключ реестра EnableUnsafeClientMailRules
).
Ответ 2
У меня была такая же проблема сегодня с похожим сценарием после обновления Office до версии 1803 (сборка 9126.2282). Удаление ключевого слова "Publicic" из подпрограммы сделало свое дело. Не уверен, почему, так как работал в течение многих лет.
Мне также пришлось заново добавить пропавший ключ reg - EnableUnsafeClientMailRules.