使用shell32.dll声明函数Excel Vba

有人能告诉我下面的代码是怎么回事:

'Variables at top of module or some function/sub here Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 'some function or sub routine here 

这段代码显示了函数声明的位置。 我不熟悉declare关键字在做什么,也不明白为什么这不是编译。

当我正在查找通过vba在Internet Explorer中打开标签的方式时,我得到了这个,但我似乎无法使其工作。

似乎编译器不认识到这是一个function,但我已经看到了几个使用这个代码没有任何问题(包括这个 )的论坛post。

看起来好像我可能会错过一个引用,或者可能是dll,但是我没有看到该库作为工具菜单中的参考,而且我不知道如何检查是否在我的机器上有这个参考。

如果有人能指出我的方向是好的,

一个API声明就像一个常规variables声明:它必须位于模块的顶部,在任何子/函数之前。