Prüfen, ob eine Excel-Datei Makros enthält

Hallo liebe Experten,
ich habe das folgende Problem:

wir werden bei der Arbeit von OfficeXP zu Office2010 migrieren.

Es gibt in der neuen Office-Version folgende Änderungen.

Die Excel-Dateien die Makros enthalten werden mit der Endung XLSM abgespeichert und die ohne mit XLSX.

Ich würde gern schon jetzt meine Excel-Dateien anpassen, sodass die jenigen, die Makros enthalten, die Endung XLSM verpasst bekommen. Dies natürlich mit VBA.

Jetzt meine Frage:
Gibt’s eine Möglichkeit über VBA zu prüfen, ob eine normale XLS-Datei (Excel-Datei Office XP) Makros enthält?

Somit würde ich meine ganzen XLS-Dateien durchgehen und die dann mit der entprechenen Endung umbenennen (XLSX oder XLSM).

Eine Andere Frage? fällt es jemandem ein, wie man so ein Problem eleganter lösen könnte ?

Ach ja: Was ich noch als Erklärung hinzufügen wollte. Ich möchte meine Daten trennen (xlsx und xlsm), weil die neue Version von Office Dateien mit Makros sehr schnell öffnen kann, wenn diese die entsprechenden Endungen haben.

Ich bedanke mich im Voraus für die Hilfe.

Willy

Hallo Willy,

das geht so was von einfach:

ActiveWorkbook.HasVBProject liefert TRUE, wenn das Workbook (muss nicht Active sein, jedes Workbook-Objekt funktioniert) Makros enthält, und FALSE, wenn nicht.

Beim Speichern solltest Du dann den entsprechenden xlFileFormat-Wert auswählen und gut.

Gruß, Manfred

Grüezi Willy

wir werden bei der Arbeit von OfficeXP zu Office2010
migrieren.

Es gibt in der neuen Office-Version folgende Änderungen.

Die Excel-Dateien die Makros enthalten werden mit der Endung
XLSM abgespeichert und die ohne mit XLSX.

…es gibt auch noch einen dritten Dateitypen: .XLSB

Eine Andere Frage? fällt es jemandem ein, wie man so ein
Problem eleganter lösen könnte ?

Ja, speichere diese alle als .XLSB ab, dann können sie Makros enthalten oder nicht.

Ach ja: Was ich noch als Erklärung hinzufügen wollte. Ich
möchte meine Daten trennen (xlsx und xlsm), weil die neue
Version von Office Dateien mit Makros sehr schnell öffnen
kann, wenn diese die entsprechenden Endungen haben.

Wie das mit dem öffnen von .XLSB-Dateien ist, musst Du halt mal mit einigen Beispielen testen.
Über ein Feedback und die Bekanntgabe der Ergebnisse dieser Tests würden wir uns hier sehr freuen :smile:


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -