J'essaie de fermer l'accès (Application.Quit
) Après avoir exécuté toutes les fonctions.
VBA ferme l'accès une fois toutes les fonctions terminées a été une référence pour moi.
mais quand je Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
, cela me donne l'erreur suivante:
Le code de ce projet doit être mis à jour pour être utilisé sur des systèmes 64 bits.
Existe-t-il un remplacement de ce code pour exécuter toutes les fonctions avant de fermer complètement l'accès?
Le paramètre dwMilliseconds
est un DWORD, il sera donc techniquement 32 bits sur une machine 32 bits et 64 bits sur une machine 64 bits. Pour cette raison, il nécessite la notation PtrSafe
(bien que techniquement dwMilliseconds
soit correctement marshalé car c'est ByVal
... et qui veut attendre aussi longtemps de toute façon) Modifiez la déclaration en ceci :
#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
changez votre déclaration api en ceci:
#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
Pour les API 64 bits, lisez ceci: http://www.jkp-ads.com/articles/apideclarations.asp