VBA 32-64bit Fehler

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: VBA 32-64bit Fehler
von: PQuest:-)
Geschrieben am: 10.11.2015 17:12:45

Hallo,
ich habe ein Userform, in das ich ein Modul zum Drucken des Forms eingebunden habe, was auch unter Excel 2010 32 bit problemlos läuft. Jetzt hat es jemand unter Excel 2010 64 bit genutzt und erhält die Fehlermeldung:
Compile Error
The code in this project must be updatedfpor use on 64-bit system. Please review and update Declare statements and then mark them with the PTRSafe attribute.
Ausgelöst wird der Fehler wohl von diesen Zeilen:
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (LpVersionInformation As OSVERSIONINFO) As Long
Private Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Private Enum Constants
KEYEVENTF_KEYUP = &H2
VK_MENU = &H12
sngMargin = 1.5 'Breit der Seitenränder in cm
End Enum
Frage 1: Wie kann ich den Fehler eliminieren?
Frage 2: Wie kann ich sicherstellen, dass der Coder sowohl unter 32 als auch unter 64 bit funktionsfähig bleibt?
Danke im Voraus,
PQuest:-)

Bild

Betrifft: AW: VBA 32-64bit Fehler
von: Nepumuk
Geschrieben am: 10.11.2015 17:21:05
Hallo,
so:

Private Declare PtrSafe Sub keybd_event Lib "user32.dll" ( _
    ByVal bVk As Byte, _
    ByVal bScan As Byte, _
    ByVal dwFlags As Long, _
    ByVal dwExtraInfo As LongPtr)
Private Declare PtrSafe Function MapVirtualKey Lib "user32.dll" Alias "MapVirtualKeyA" ( _
    ByVal wCode As Long, _
    ByVal wMapType As Long) As Long
Private Declare PtrSafe Function GetVersionEx Lib "kernel32.dll" Alias "GetVersionExA" ( _
    ByRef lpVersionInformation As OSVERSIONINFO) As Long

Gruß
Nepumuk

Bild

Betrifft: AW: VBA 32-64bit Fehler
von: PQuest:-)
Geschrieben am: 10.11.2015 18:59:51
Hallo Nepumuk,
getestet und funktioniert.
Danke,
PQuest:-)

 Bild

Beiträge aus den Excel-Beispielen zum Thema "VBA 32-64bit Fehler"