Excel-Datei per COM-Add-In als .xlsm speichern

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

Wer viel mit Excel-Worksheets arbeitet und diesen regelmäßig VBA-Code hinzufügt, muss diese als .xlsm-Datei speichern, damit die Änderungen am VBA-Projekt beim Schließen nicht verlorengehen. Dazu muss man immer den Backstage-Bereich von Excel öffnen und einige Mausklicks durchführen. Wie wäre es, wenn man diese Aktion direkt im Backstage-Bereich finden würde – und nur noch einen Mausklick tätigen müsste, damit das aktuelle Excel-Worksheet nicht nur unter dem gleichen Namen und der Dateiendung .xlsm gespeichert wird, sondern auch noch die ursprüngliche .xlsx-Datei gelöscht wird? Wie das geht, zeigen wir in diesem Artikel.

Vorbereitung: twinBASIC

Wie Du twinBASIC herunterlädst und installierst, haben wir im Artikel twinBASIC: Visual Basic für die Zukunft (www.vbentwickler.de/310) beschrieben.

COM-Add-In erstellen

Um das COM-Add-In zu erstellen, startest Du twinBASIC und wählst im Startbildschirm unter Samples den Eintrag Sample 5. MyCOMAddin aus (siehe Bild 1). Danach speichern wir das neu angelegte Projekt erst einmal unter dem gewünschten Namen, in diesem Fall MakeXLSM.

Projekt auf Basis der Vorlage MyCOMAddin erstellen

Bild 1: Projekt auf Basis der Vorlage MyCOMAddin erstellen

Verweis auf die Excel-Bibliothek hinzufügen

Damit wir direkt per IntelliSense auf die Elemente der Excel-Bibliothek zugreifen können, fügen wir dem Projekt einen entsprechenden Verweis hinzu. Dazu wechseln wir in twinBASIC zum Bereich Settings. Hier scrollen wir nach unten zum Bereich COM Type Library / ActiveX References.

Unter All Available COM References aktivieren wir mit einem Klick auf das Lupe-Symbol ein Suchfeld und geben Excel ein.

Der Eintrag Microsoft Excel 16.0 Object Library erscheint und wir fügen einen Verweis auf diese Bibliothek hinzu, indem wir das Kästchen vor diesem Eintrag anhaken (siehe Bild 2).

Hinzufügen eines Verweises auf die Excel-Bibliothek

Bild 2: Hinzufügen eines Verweises auf die Excel-Bibliothek

Name und Beschreibung des Projekts anpassen

Wenn wir schon die Einstellungen anpassen, können wir auch gleich den Namen und die Beschreibung des Projekts ändern. Dazu passen wir die beiden Eigenschaften Project: Name und Project: Description im oberen Bereich der Einstellungen an (siehe Bild 3).

Einstellen von Projektname und -beschreibung

Bild 3: Einstellen von Projektname und -beschreibung

Einstellungen speichern

Diese Änderungen speichern wir mit der Tastenkombination Strg + S, was in der Regel einen Neustart von twinBASIC auslöst.

Projektdateien anpassen

Schließlich ändern wir auch noch den Dateinamen von der Vorgabe COMAddIn.twin in MakeXLSM.twin und den Klassennamen von COMAddIn in MakeXLSM (siehe Bild 4).

Einstellen des Klassennamens und des Dateinamens

Bild 4: Einstellen des Klassennamens und des Dateinamens

Die Klasse MakeXLSM anpassen

In der Klasse MakeXLSM, die beispielsweise die Implementierung der Schnittstellen IDTExtensibility2 und IRibbonExtensibility übernimmt, nehmen wir einige Änderungen vor. Die wichtigsten fassen wir nachfolgend zusammen.

Wir deklarieren eine Variable namens objExcel mit dem Datentyp Excel.Application, der wir in der Ereignismethode OnConnection den Verweis auf die Excel-Instanz zuweisen, durch die das COM-Add-In aufgerufen wird:

 

Schreibe einen Kommentar