Datei mit VBS von einer 32-Bit Vers. auf eine 64-Bit Vers. ändern und vielleicht abwärts kompatibel machen

Hallo Gemeinde, brauche Eure HILFE wieder einmal.
Ich habe vor Jahren eine große EXCEL-Datei mit gefertigt. Die VBA-Geschichte wurde mir damals erklärt und auch einige gute Geister halfen mir sehr oft dabei es zu bewerkstelligen. Nun wurde die Software von damals Excel 2010 32-Bit auf Excel 2013 mit 64-Bit umgestellt.

Nun geht das Problem los:
Beim Öffnen der Datei geht´s sofort in den VBA-Modus und es kommt die Fehlermeldung: zum Modul 1, welches wie geschrieben wurde

Private Declare Function SetActiveWindow Lib „user32.dll“ ( _
ByVal hwnd As Long) As Long
Public Declare Function FindWindow Lib „user32.dll“ Alias „FindWindowA“ ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Die Fehlermeldung beinhaltet:

Fehler beim Kompilieren:
Der Code in diesem Projekt muss für die Verwendung auf
64-Bit-System aktualiesiert werden. Überarbeiten und aktualisieren Sie
Declare-Anweisungen, und markieren Sie mit dem PtrSafe-Attribut.

Nun meine Fragen vorab:
 Kann das Makro so geschrieben werden dass die Datei auf Rechnern mit Excel 2010 32-Bit und Excel 2013 64-Bit Versionen läuft?

Und nun zu meinem Problem, wer kann mir dabei helfen, wie müsste es heißen?
Oder gibt es ein Tool von MS welches dies erledigen kann? (Das wäre toll)

Ich weiß auch nicht, ob dies der einzige Fehler ist. Dies wird sich dann zeigen.

Für Eure Bemühungen, Tipps und Anregungen
im Vorab Danke.

Bernd

Moin,

was Microsoft da an Rezepten anbietet, ist schlicht gesagt Quark, wenn überhaupt, dann nur für Systemprogrammierer geeignet. Es geht um die Schnittstelle zum Kern des Betriebssystems, genauer die sogenannte Win_API. In Urzeiten haben pfiffige Kerlchen mit dieser API herumgetrickst, um Excel und andere Office-Teile zu Dingen zu bewegen, die sie von Haus auf nicht konnten.

Bevor Du Dich auf die Suche machst, ob irgendwo eine user64.dll herumliegt, solltest Du schauen, ob das heutige Office die gewünschten Funktionen vielleicht / wieder Erwarten / völlig unvermutet doch anbietet und somit auf die API verzichtet werden kann.

Sollte Dich der Deibel reiten, dann lies mal hier nach, da findet sich auch ein Bezug zur Frage, wie man 32- und 64-Bit-Umgebungen unterscheidet.

Gruß Ralf

wieder wider Erwarten - ich fasse es nicht. Entweder werd ich deppert oder eine neue Brille ist fällig.

Gruß Ralf

Hallo Ralf, erst einmal danke. Ich werde mich zum Wochenende wieder hinsetzen und schauen was ich tun kann.