【问题标题】:I cannot see my VBA macro in 'run a script' selection box我在“运行脚本”选择框中看不到我的 VBA 宏
【发布时间】:2020-06-21 07:22:40
【问题描述】:

我在我的 oulook VBE 中从一个 VBA 社区复制了以下代码,并根据我的需要对其进行了修改。 我可以使用 F5 和 F8 运行它。现在,每当我在文件夹 1 中收到电子邮件时,我都想运行这个宏。 我尝试设置规则,但看不到“运行脚本”选择框中列出的宏。 我已经检查过了

  1. 宏安全设置正确
  2. 宏在一个模块中而不是在一个类中

你能告诉我设置中出了什么问题吗?

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

【问题讨论】:

  • 你得到的答案对我有用。如果它对您有用,则将其标记为解决方案。
  • 我想在这里分享当前版本的 O365 ProPlus 删除了运行脚本作为规则的一部分的能力。如果您想恢复该功能,则需要进行注册表更改,目前该功能仍然有效,但将来可能会被删除。我找到了必要的信息来做到这一点here

标签: vba outlook


【解决方案1】:

要被识别为适合规则向导的脚本宏,该宏必须具有预期的参数:

Sub myRuleMacro(item as Outlook.MailItem)

MSDN article(对 Outlook 2007/2010/2013/2016 仍然有效)

Related article

Article about enabling run-a-script rules 否则出于安全原因禁用
(注册表键EnableUnsafeClientMailRules)。

【讨论】:

    【解决方案2】:

    在 Office 升级到版本 1803(内部版本 9126.2282)后,我今天在类似的脚本上遇到了同样的问题。从 sub 中删除“Pubic”关键字就可以了。不知道为什么,因为多年来一直以另一种方式工作。

    我还必须重新添加已消失的 reg 键 - EnableUnsafeClientMailRules。

    【讨论】:

    • 我猜你的意思不是“公共”。此外,尚不清楚您为解决问题采取了哪些步骤,以及该问题与提出的问题有何相同之处。简洁是可以的,但是一个好的答案应该被格式化,以便清楚你的建议是如何应用的,以及为什么。
    猜你喜欢
    • 2013-07-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多