VBA中引用API函数提示“提示子过程或函数未定义”?

VBA中引用API函数提示“提示子过程或函数未定义”,是否需要勾选工具->引用当中某个选项?或有其他方法?


蛊毒传说
浏览 1909回答 3
3回答

Smart猫小萌

代码贴出来吧 API不需要引用什么 直接写声明 然后调用即可Private Declare Function getwindowlong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nindex As Long) As LongPrivate Declare Function setwindowlong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nindex As Long, ByVal dwnewlong As Long) As LongPrivate Declare Function findwindow Lib "user32" Alias "FindWindowA" (ByVal lpclassname As String, ByVal lpwindowname As String) As LongAlias 后面的函数名有大小写区别

慕妹3146593

不需要,需要在程序的Option中声明这个API就可以了,你看看书,应该是少了声明,形如Declare Function API名字 Lib "API库名,一般是kernel32等" (ByVal 参数列表) As 返回值

慕容森

估计是你复制的时候声明里面包含了非法字符或某些地方没有空格,我以前经常遇到这种情况建议用vb自带的工具 “API 文本浏览器”来查找并复制API函数****************************复制了你代码,在我这边我删除了其中的下划线,使一个声明占一行运行测试没问题!
打开App,查看更多内容
随时随地看视频慕课网APP