2014-09-20 165 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