Fragensteller
Excel 64-Bit

Frage
-
Hallo,
ich habe einen VBA-Code, der in allen Excel-32-Bit-Versionen problemlos läuft, aber in der Excel 2013-64-Bit-Version Abstürze erzeugt. Nun habe ich das MS-Programm "Office Code Compatibility Inspector (OCCI)" geladen und getestet. Diese meldet mir 246 Probleme in meinem rund 800 Zeilen langen VBA-Code.
Die einzelnen Probleme werden wie folgt gekennzeichnet:
Die Zeile "CODE:" entspricht der der Codezeile/Line 58, meines Original-Codes.
MODULE: DieseArbeitsmappe
FUNCTION: workbook_open
LINE: 58
TYPE: CHANGE
ITEM: [xls]ChartArea.ClearContents
URL: http://go.microsoft.com/fwlink/?LinkID=215357
CODE: .[license].clearcontentsKönnen Sie mir da evtl. helfen, denn ich weiß nicht, was an dieser Code-Zeile falsch ist?
Für Ihre Bemühungen bedanke ich mich und verbleibe
mit freundlichen Grüßen
Herbert Grom
Gruß Herbert
Alle Antworten
-
Hallo Herbert :-)
solange Du keine Windows API-Funktionen oder externe, reine 32-Bit-Bibliotheken verwendest, sollte es m.W. eigentlich keine Probleme in 64 Bit Excel geben. Wie aktuell noch OCCI ist, kann ich Dir nicht sagen. Könntest Du denn eine anonymisierte Beispielmappe hier hochladen, wo z.B. der relevante abstürzende Code drin ist?
Gruß
Microsoft Excel MVP · excel-translator.de · excel-ticker.de · excel-soccer.de
-
Alles zu weit gegriffen:
Bei 64-Bit-VBA gibt es ins besonders bei der Verwendung von DLL-Funktionen (declare) nicht mehr den Typ "long" sondern den neuen Typ "longlong", da Long ein 32-Bit-Wert ist und die 64-Bit-Funktionen nun aber 64-Bit-Integers erwarten.
Die Verwendung von longlong schließt die Weiterverwendung als 32-Bit dann allerdings aus, hier brauchst du dann 2 Varianten.Untersuche deinen Code darauf.
Desweiteren kann es auch sein, dass externe Verweise (COM-Schnittstellen) in 64-Bit nicht existieren.
Prüfe daher über das Menü "Extras->Verweise", was da halt fehlt.
Das gilt ebenso für die Anweisung CreateObject, da nicht alles was es für 32-Bit gibt eben auch für 64-Bit verfügbar ist.