使用shell32.dll声明函数Excel Vba

时间:2012-08-20 17:47:10

标签: excel shell excel-vba windows-shell shellexecute 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中打开标签时,我得到了这个,但我似乎无法让它工作。

似乎编译器不会将此识别为函数,但我看到几个使用此代码的论坛帖子没有任何问题(包括this one)。

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

如果有人能指出我正确的方向,那就太好了。

1 个答案:

答案 0 :(得分:0)

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