Joh*_*ton 11 ms-access vba access-vba
我正在尝试Application.Quit在运行所有函数后关闭access().
所有功能完成后VBA关闭访问 一直是我的参考.
但是当我Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long),它给了我
必须更新此项目中的代码才能在64位系统上使用.错误
在完全关闭访问权限之前,是否有替换此代码来运行所有功能?
任何帮助将不胜感激.谢谢.
Com*_*ern 17
该dwMilliseconds参数是一个DWORD,因此技术上在32位机器上为32位,在64位机器上为64位.因此,它需要PtrSafe符号(虽然技术上dwMilliseconds会正确编组,因为它是ByVal......而且谁想要等待那么久)将声明更改为:
#If VBA7 Then
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Run Code Online (Sandbox Code Playgroud)
将您的 api 声明更改为:
#If VBA7 And Win64 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If
Run Code Online (Sandbox Code Playgroud)
对于 64 位 API,请阅读:http : //www.jkp-ads.com/articles/apideclarations.asp