我在我的oulook VBE中复制了以下代码,来自其中一个VBA社区,并根据我的需要对其进行了修改.我可以使用F5和F8运行它.现在,每当我收到folder1中的电子邮件时,我都想运行此宏.我尝试设置规则,但我看不到"运行脚本"选择框中列出的宏.我已经检查过了
你能告诉我这个环境出了什么问题.
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
Run Code Online (Sandbox Code Playgroud)
Axe*_*per 22
要被识别为规则向导的正确脚本宏,宏必须具有预期参数:
Sub myRuleMacro(item as Outlook.MailItem)
Run Code Online (Sandbox Code Playgroud)
MSDN文章(仍然适用于Outlook 2007/2010/2013/2016)
有关启用由于安全原因
(注册表项EnableUnsafeClientMailRules)而禁用的run-a-script规则的文章.