我创建了一个简短的代码片段来测量VBA宏期间两个定义点之间的运行时间。但是要获得SYSTEMTIME结构(必须使用它)的时间格式,我无法定义,因为抛出了一个Bad DLL调用约定(Error 49)错误。我知道SYSTEMTIME结构是通过函数传递的8个整数。
函数的声明
Private Declare Function WinHttpTimeToSystemTime Lib "winhttp.dll" (Byval time as String, several attempts)
这些尝试:
ByVal systime as String
ByVal systime as Integer
ByVal systime as Long (only for sure)
ByRef systime() as Integer (VBA let only ByRef access)
ByRef systime as userdef (user-defined type with 8 integer variables)
均导致上述错误。
有解决办法吗?
1条答案
按热度按时间wwwo4jvm1#
基于注解,我重新检查了声明,问题是函数的返回值丢失。添加了作为布尔值,并执行了函数。