使用API​​的VBA延迟毫秒计时器

时间:2017-01-27 19:02:37

标签: vba

我需要一个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;

,我会收到同样的错误

有关如何使其发挥作用的任何线索? 感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

错误的相关部分是这个(强调我的):

  

“常量,固定长度的字符串,数组,用户定义的类型和        声明语句不允许作为对象模块的公共成员

换句话说,您显然不能在类模块中使用Public Declare语句。

添加新的标准/程序(.bas)模块,并在那里移动Declare语句。或者,如果它是唯一使用的模块,请将其设为Private

应该“正常工作”; - )