Problem bei bedingter Kompilierung mit Win64, VBA7
MalinV
Gesendet: 10.05.16 20:53
Betreff: Problem bei bedingter Kompilierung mit Win64, VBA7


New user

Beiträge: 2

Hallo miteinander,
ich habe ein Problem zu dem ich wirklich NIX gefunden habe:

Es geht um eine Access-Anwendung, die auf verschiedenen Plattformen und mit unterschiedlichen Access-Versionen läuft.
Daher setzte ich an einigen Stellen die bedingte Kompilierung ein, was auch auf fast allen Rechnern funktioniert:

z.B.
#If Win64 Then
    Declare PtrSafe Function GetOpenFileName_API Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
    Declare PtrSafe Function GetSaveFileName_API Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
#Else
    Declare Function GetOpenFileName_API Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
    Declare Function GetSaveFileName_API Lib "comdlg32.dll" Alias "GetSaveFileNameA" (pOpenfilename As OPENFILENAME) As Boolean
#End If

Nur auf einem Rechner funktioniert es nicht und folgender Code gibt alle 4 Zeilen aus statt wie sonst die 2 zutreffenden - es werden alle Ausdrücke als True interpretiert:

Sub getBIT()
#If vba7 Then
    Debug.Print "vba7"
#End If
#If Not vba7 Then
    Debug.Print "not vba7"
#End If
#If Win64 Then
    Debug.Print "win64"
#End If
#If Not Win64 Then
    Debug.Print "not win64"
#End If
End Sub

Die Konstanten VBA7 und Win64 sind auf diesem Rechner nicht definiert, auch nicht im Word.
Der Aufruf de o.g. API's funktioniert auch nicht, ohne Fehlermeldung...

Hat das jemand schonmal gehabt? Was kann ich da machen???

Mit bestem Dank schonmal und vielen Grüßen,

Malin
Top of the page Bottom of the page