我需要一个VBA毫秒(~100)延迟计时器并尝试使用API:
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
然后在子<。
中使用Sleep(100)
但是,当我尝试使用它时,我收到编译错误:
"Constants, fixed-length strings, arrays, user-defined types and
declare statements not allowed as Public members of object modules"
如果我将其更改为&#39; Private&#39;
,我会收到同样的错误有关如何使其发挥作用的任何线索? 感谢您提供的任何帮助。
答案 0 :(得分:1)
错误的相关部分是这个(强调我的):
“常量,固定长度的字符串,数组,用户定义的类型和 声明语句不允许作为对象模块的公共成员 “
换句话说,您显然不能在类模块中使用Public Declare
语句。
添加新的标准/程序(.bas)模块,并在那里移动Declare
语句。或者,如果它是唯一使用的模块,请将其设为Private
。
应该“正常工作”; - )