Εμφάνιση ενός μόνο μηνύματος
  #4  
Παλιά 31-08-22, 10:54
pctechdr Ο χρήστης pctechdr δεν είναι συνδεδεμένος
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 18-11-2012
Περιοχή: Deutschland
Μηνύματα: 212
Προεπιλογή

Στην ουσία το μόνο που πρέπει να κάνεις είναι να καλέις τα σωστά declarations για 64 bit. Μπορείς να το "γράψεις" να τρέχει και σε 32 bit και σε 64 bit μόνο που για 64 Bit πρέπει να το κάνεις compile με την αντίστοιχη σε bit Access Version.
Παράδειγμα

#If VBA7 Then 'add PtrSafe
Private Declare PtrSafe Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare PtrSafe Function SetWindowPos Lib "user32" _
(ByVal handleW1 As Long, _
ByVal handleW1InsertWhere As Long, ByVal w As Long, _
ByVal X As Long, ByVal Y As Long, ByVal z As Long, _
ByVal wFlags As Long) As Long
#ElseIf Win64 Then 'need datatype LongPtr
Private Declare PtrSafe Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr

Private Declare PtrSafe Function SetWindowPos Lib "user32" _
(ByVal handleW1 As LongPtr, _
ByVal handleW1InsertWhere As LongPtr, ByVal w As LongPtr, _
ByVal X As LongPtr, ByVal Y As LongPtr, ByVal z As LongPtr, _
ByVal wFlags As LongPtr) As LongPtr
#Else '32-bit Office
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function SetWindowPos Lib "user32" _
(ByVal handleW1 As Long, _
ByVal handleW1InsertWhere As Long, ByVal w As Long, _
ByVal X As Long, ByVal Y As Long, ByVal z As Long, _
ByVal wFlags As Long) As Long
#End If

Πληροφορίες εδώ --> https://codekabinett.com/rdumps.php?...ion-vba-64-bit
Αν θές να βρείς τι ακριβώς πρέπει να αλλάξεις και που δές εδώ -->https://www.utteraccess.com/topics/2029336?post=unread
Απάντηση με παράθεση