MalinV - 11.05.16 00:53 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 An dieser Stelle brauchst du mE keine bedingte Kompilierung. PtrSafe kannst du auch unter Win32 einsetzen. VBA7 wäre allerdings evtl. relevant. (Bin gerade nicht sicher)
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: [....] #If Not Win64 Then Debug.Print "not win64" #End If Das sollte allerdings nicht nur auf einem Rechner passieren, sondern auf allen. Lies mal That Whacky Conditional Compiler Constant , dort speziell den Absatz The Boolean Test (und folgende).
Die Konstanten VBA7 und Win64 sind auf diesem Rechner nicht definiert, auch nicht im Word.
Wie genau hast du das geprüft? Vielleicht handelt es sich um eine 32bit-Version von Office 2007? ----- https://codekabinett.com/ |