尝试在Outlook中运行VBA脚本时“Sub或Function not defined”

时间:2014-05-18 12:42:47

标签: vba outlook outlook-vba

作为创建VBA脚本以将当前所选图像的大小调整为100%x 100%的第一步,我尝试在http://msdn.microsoft.com/en-us/library/ee814736(v=office.14).aspx中重现该示例。宏非常简单:

Sub Test()
   MsgBox ("Hello world")
End Sub

VBA脚本只是在" Project1"中创建的。当按下Alt + F11时默认打开。但是,我不断收到错误" Sub或Function not defined"尝试运行VBA脚本时(图1和图2)。

如何使VBA脚本可以访问'到Outlook?

Running the "Test" macro in Microsoft Outlook 图1运行"测试" Microsoft Outlook中的宏

enter image description here 图2" Sub或Function未定义"错误,模块树在后台

6 个答案:

答案 0 :(得分:4)

我更仔细地按照msdn.microsoft.com上的说明解决了这个问题。在那里,声明必须通过选择Developer - >创建新的宏。宏,键入新的宏名称,然后单击"创建"。以这种方式创建宏,我能够运行它(参见下面的消息框)。

enter image description here

答案 1 :(得分:3)

我遇到过与此问题类似的情况。在这种情况下,它看起来像这样

Sub Test()
   MsqBox ("Hello world")
End Sub

问题是,我在那里有更多的代码并且无法识别,“MsqBox”中有拼写错误(q而不是g),因此我有一个错误,这真的是误导,但是你可以像这样犯这个错误,也许别人会注意到这是因为这样的拼写错误......

答案 2 :(得分:1)

每次脚本中出现编译错误时,都会出现“Sub或Function not defined”错误,所以请再次检查脚本的语法。

我猜这就是为什么当你使用msqbox而不是msgbox时它会抛出错误。

答案 3 :(得分:1)

这可能不能回答你的问题,但我有同样的问题并且它回答了我的问题。

我将Private Function更改为Public Function并且有效。

答案 4 :(得分:0)

我认为您需要更新您的库以便您的VBA代码正常工作,使用ms outlook

答案 5 :(得分:0)

我需要补充一点,如果模块名称和子名称相同,则会出现此类问题。 考虑将模块名称更改为mod_Test,而不是与子项相同的“ Test”。