yotyot
Goto Top

Tausende Excel-Dateien automatisiert konvertieren und aktualisieren

Moin!

Ein Kunde hat über 70.000 (siebzigtausend!) Exceldateien (Tendenz: kräftig steigend), die allesamt im alten Excel 97-2003-Format vorliegen, also mit der Endung xls. In Verbindung mit MS Office 2010, das im Laufe des Jahres auch noch durch 2016 ersetzt werden soll, gibt es immer öfter das Problem, dass bei der Arbeit mit den Tabellen Excel so vollständig abstürzt und die Terminalsession (Terminalserver 2008R2) derart auslastet, dass wir oft remote Excel abschießen müssen. Excel hängt in dem Moment und bewegt sich einfach nicht mehr.

Die Tabellen sind alle relativ einfach aufgebaut, die meisten haben nur ein Tabellenblatt mit Zeit- und Verfügbarkeitsangaben, es sind ein paar wenige, sehr einfache Berechnungen darin (Summen, Min-Max-Werte und so, nicht kompliziertes), die Dateien haben keinen VBA-Code / keine Makros im Bauch. Allerdings steht in den Tabellen immer mal ein Verweis auf eine andere Tabelle, um eben von dort Standarddaten zu holen. Auch diese "Mastertabellen" sind nicht weiter kompliziert aufgebaut.

Ich kann das Absturzverhalten mit den Dateien auf unserem eigenen Terminalserver, ebenfalls mit Office 2010 rekonstruieren und erhalte das gleiche Ergebnis. Ich habe das gleich Problem gelegentlich auch mit ein paar eigenen alten Dateien (naja, man aktualisiert ja nicht immer gleich alles, was man nur alle paar Jahre mal braucht). Wenn ich die Dateien in das xlsx-Format konvertiere, passiert das mit den Abstürzen nicht. Also ist meine Idee: alles konvertieren. Das Problem dabei sind die Verweise innerhalb der Dateien: wenn ich auch die "Mastertabellen", auf die also Bezug genommen wird, konvertieren, sind das ja andere Dateien. In dem Moment funktionieren die Bezüge nicht mehr. Gibt es eine Möglichkeit, die entsprechenden Änderungen zu automatisieren? Bei der Menge der Dateien und selbst wenn man nur von den paar wenigen tausend aktuellen und ständig aktiven Dateien ausgeht, wäre das ja manuell eine Strafarbeit.

Grüße

Jörg

Content-Key: 298018

Url: https://administrator.de/contentid/298018

Printed on: April 19, 2024 at 02:04 o'clock

Member: ukulele-7
ukulele-7 Mar 03, 2016 at 08:08:23 (UTC)
Goto Top
Vieleicht findest du einen Weg die Dateien automatisch zu konvertieren aber die Dateiendung einfach zu belassen. Mit Excel werden sie ja in jedem Fall geöffnet und ich denke Excel bestimmt das Format das es öffnet nicht wie Windows anhand der Dateiendung sondern wirklich am Datei-Header, vermutlich.
Member: emeriks
emeriks Mar 03, 2016 at 08:33:01 (UTC)
Goto Top
@ukulele-7
Das geht zwar. Allerding meckert Excel dann beim Öffnen und hält mit einer Dialogbox an.
Member: emeriks
emeriks Mar 03, 2016 at 08:35:01 (UTC)
Goto Top
@YotYot
Ich würde testen, ob Excel von XLSX nach XLS verweisen kann. Ich vermute, das geht.
Dann würde ich zunächst die Verweishirachie feststellen. Welches Dokument verweist auf welches.
Und demnach würde ich die Aktualsierung in mehreren Stufen in Angriff nehmen.

E.
Mitglied: 114757
Solution 114757 Mar 03, 2016 updated at 09:21:27 (UTC)
Goto Top
Moin.
Gibt es eine Möglichkeit, die entsprechenden Änderungen zu automatisieren?
Mit einem VBA/VBS Makro sollte das lösbar sein, wenn es auch bei der Menge an Dateien etliche Zeit dauern kann, aber machbar wäre das indem man jedes Sheet der Dateien in den Formeln das .xls durch .xlsx replaced.

Ich glaube @colinardo hat das hier mal mit Word-Dokumenten gemacht. Muss den Link mal suchen.
-edit- hier
Alte Server Verknüpfung bei Clients löschen
VBA Script - Pfade zu Dokumentevorlagen anpassen
Ließe sich auch auf ähnliche Weise für Excel umschreiben, natürlich mit größeren Abänderungen, aber das Prinzip bleibt ähnlich.

Gruß jodel32
Member: YotYot
YotYot Mar 03, 2016 at 09:43:38 (UTC)
Goto Top
@114757: Yo, sieht brauchbar aus, denke ich. Erst auf dem Weg öffnen, per Autostart-AddIn die Verweise ändern lassen und dann unter neuem Namen speichern, das könnte gehen. Danke für den Denkzettel!

@ukulele-7: Leider nein, das Format ist grundlegend geändert worden: während die alten xls-Dateien noch Einzeldateien waren, ist das xlsx-Format ab Excel 2007 ein Archiv mit mehreren Dateien. Du kannst so eine Datei mal mit 7zip o.ä. entpacken. Bei dem Versuch, die Datei umzubenennen und dann zu öffnen, erfolgt eine Fehlermeldung wegen einer ungültigen Dateiendung.

@emeriks: Der Verweis funktioniert, das ist nicht das Problem. Das Problem ist die schiere Menge an Dateien, da wären ein paar Leute wochenlang mit beschäftigt. Funktionieren muss das aber innerhalb kürzester Zeit, wie das eben so ist mit den Kunden...

Danke allen für's Kopfzerbrechen.
Ich lasse die Frage mal als nicht gelöst stehen, dann sehe ich sie gelegentlich wieder und trage mal nach, wie es dann letztlich gelaufen ist.

Gruß

Jörg
Mitglied: 114757
114757 Mar 03, 2016 updated at 09:53:42 (UTC)
Goto Top
Erst auf dem Weg öffnen, per Autostart-AddIn die Verweise ändern lassen und dann unter neuem Namen speichern, das könnte gehen. Danke für den Denkzettel!
Nee nicht manuell, die Skripte sind fürs vollkommene Automatisieren gedacht und sind VBS Files, lassen sich also direkt starten und dann kannst du Kaffee trinken gehen face-wink
Member: YotYot
YotYot Mar 03, 2016 at 10:36:18 (UTC)
Goto Top
Jaja, das meine ich schon so face-smile
Ich werd' 70.000 Docs von Hand öffnen, soweit kommt das noch... Das Script ist doch praktisch direkt umsetzbar, ein Variablen anpassen und gut is!
Mitglied: 114757
114757 Mar 03, 2016 updated at 10:39:35 (UTC)
Goto Top
Das Script ist doch praktisch direkt umsetzbar, ein Variablen anpassen und gut is!
Bei Word-Dokumenten schon, aber nicht für die Verwendung mit Excel, da muss doch schon mehr geändert werden als nur eine Variable face-smile
Member: YotYot
YotYot Mar 03, 2016 at 10:44:54 (UTC)
Goto Top
stimmt, ich habe das Wort "paar" unterschlagen. Hups.
Nee, keine Sorge, ich weiß schon, wie ich damit umgehen muss, brauchte nur erstmal so die Startidee, alles gut
Member: YotYot
YotYot Mar 21, 2016 at 10:45:30 (UTC)
Goto Top
@114757 Dein Tip mit VBA hat in Verbindung mit einem Start-Addin mit den ersten 100 Dateien zum Test funktioniert. Den Rest wird die verantwortliche Dame beim Kunden an einem chilligen Wochenende selbst durchlaufen lassen.

Danke!