
Ich bin mir bewusst, dass dies ein wenigXY-Problem, also fange ich von vorne an.
Das letzte Update von MS Office in meinem Unternehmen hat leider meine Excel-Anwendung beschädigt. Sie basiert stark auf VBA und ist über mehrere Dateien verteilt. Mehrere davon sind .xlam-Dateien, die der Einfachheit halber aufgeteilt wurden, damit der Benutzer nicht den GANZEN Code auf einmal laden muss, sondern die Dateien separat laden kann, je nachdem, welchen Abschnitt der Anwendung er verwenden möchte.
Der Fehler lautet:
„Excel kann die Datei Portal.xlsm nicht öffnen, da das Dateiformat oder die Dateierweiterung ungültig ist. Stellen Sie sicher, dass die Datei nicht beschädigt ist und dass die Erweiterung dem Format der Datei entspricht.“
Ich weiß mit Sicherheit, dass mit der Datei alles in Ordnung ist. Sie ist nicht beschädigt, weil ich mir die Datei per E-Mail nach Hause schicken konnte. Sie ließ sich mit meinem Excel zu Hause öffnen und ich konnte genau diagnostizieren, welche Zeile den Fehler verursachte. Nachdem die (nicht kritische) Zeile entfernt wurde, ließ sich die Datei in meiner Unternehmensumgebung ordnungsgemäß öffnen.
Aus Interesse war die anstößige Zeile diese:
'Required functions to test the state of the shift key (for developer to pause Launcher)
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Ich weiß nicht genau, warum diese GetKeyState-Funktion dazu geführt hat, dass sich die gesamte Excel-Datei nicht öffnen ließ. Wenn also jemand eine Idee hat, würde ich sie gerne hören (mir ist bewusst, dass ich diesen Beitrag auch auf StackOverflow wiederholen sollte).
Obwohl diese primäre Datei nun funktionierte, trat jedoch ein zweites Problem auf. Die XLAM-Dateien konnten nicht geladen werden. Noch mysteriöser ist, dass sie nicht erkannt wurden, als ich versuchte, sie auf meinem Heimcomputer zu öffnen. Zu Hause habe ich Excel 2019 (Version 2110). Bei der Arbeit habe ich Excel für MS Office 365.
Ich denke jetzt, wenn ich die XLAM-Dateien irgendwie öffnen kann, kann ich den Code abrufen und die Module in die primäre Datei kopieren/einfügen. So war es, bevor ich mich entschied, sie aufzuteilen. Das einzige Problem ist, dass ich diese XLAM-Dateien seit einem mysteriösen Sicherheitsupdate nicht mehr öffnen kann.
Was mich zu meiner Frage bringt: Wenn ich eine ältere Version von Excel verwenden kann, könnte ich diese xlam-Dateien öffnen – nur um die VBA-Module anzuzeigen – und sie dann wie hier beschrieben kopieren.
Kann mir jemand einen Ort empfehlen, an dem ich auf ältere Versionen von MS Excel zugreifen kann? Am besten eine portable Version, da ich mir die Mühe einer Neuinstallation ersparen möchte. Vielen Dank.
HINWEIS: Ich arbeite für eine sehr große Regierungsbehörde und habe keinerlei Administratorrechte für mein Unternehmensnetzwerk. Keine Möglichkeit, dort Registrierungskonfigurationen zu ändern!
Antwort1
Die Bereitstellung durch das Office 365 Admin Center gilt nur für das Web-Add-In der neuen Generation, Ihr Add-In .xlam
kann also tatsächlich nicht mehr bereitgestellt werden.
Ich kenne keine portable Office-Version, aber ich weiß, wo man alte Office-Versionen herunterladen kann. Diese könnten in einer virtuellen Maschine installiert werden, um eine Störung der Arbeitsumgebung zu vermeiden.
Sie können mehrere Office-Versionen von der Website herunterladen TechBench von WZT:
Die Images werden von der Microsoft-Website heruntergeladen (auch wenn diese Versionen dort offiziell nicht existieren). Seriennummern sind auf dieser Website nicht zu finden (es handelt sich nicht um eine Hacker-Site), aber die Testphase wird für Ihre Zwecke ausreichen.