2014-09-20 164 views
0

我在Outlook 2010中创建一个VBA脚本,但它运行的唯一方式是通过点击播放按钮,而在Outlook VBA如下面的图片所示:展望VBA脚本不会运行

VBA

当我从菜单中选择VBA脚本时,为什么它不会运行,如下图所示?我已经使用“SelfCert.exe”签署了VBA脚本。

macro menu

在列表中,当他们从菜单中选择不要运行其他两个VBA脚本。下面是不运行VBA脚本代码:

Sub ReplaceIPs() 
    Dim Insp As Inspector 
    Dim obj As Object 

    Set Insp = Application.ActiveInspector 
    Set obj = Insp.CurrentItem 

    obj.HTMLBody = Replace(obj.HTMLBody, "192.168.1", "255.255.255") 

    Set obj = Nothing 
    Set Insp = Nothing 
End Sub 

以上VBA脚本应该在电子邮件的正文中找到,并以“255.255.255”代替“192.168.1”的所有实例那正在组成。

+0

如果将192.168.1放入消息正文并运行宏,会发生什么?我在这里尝试了你的代码,它确实工作。这不会取代电子邮件标题中的IP地址 – 2014-09-20 03:19:23

+0

我在主体中添加了192.168.1。这就是我测试它的方式,但它不起作用。您是否将代码添加为VBA中的模块? – Jeff 2014-09-20 03:26:51

+0

是的,我做到了。看到我的答案,看看是否能解决你的问题。 – 2014-09-20 03:38:43

回答

2

模块名称不能包含同名的宏。将模块ReplaceIPs重命名为其他内容或将 /子例程ReplaceIPs重命名为其他内容。如果它们都相同,它将无法正确解析

+1

谢谢!这就是问题所在。我确信我用不同的名字尝试过,但我想我没有。 – Jeff 2014-09-20 03:42:16