Accessweites Ribbon mit VB6

Wie man ein Ribbon zu einer Access 2007-Datenbank hinzufügt, ist hinlänglich bekannt. Etwas seltener trifft man Add-Ins an, die das Ribbon von Access 2007 anpassen – unabhängig davon, welche Datenbank gerade geöffnet ist. Dieser Beitrag zeigt, wie Sie mit Visual Basic 6 ein solches Ribbon erstellen.

Als Erstes benötigen Sie natürlich Visual Studio 6 (es funktioniert auch mit Visual Studio .NET, aber Sie erhalten dort nicht so eine kleine, schnuckelige DLL zum einfachen Weitergeben oder Registrieren, sondern müssen vor der Installation eine Menge Voraussetzungen erfüllen et cetera). Dort öffnen Sie mit dem Menübefehl Datei/Neues Projekt den Dialog Neues Projekt (siehe Bild 1). Hier wählen Sie den Eintrag Addin aus, um dieses aus einer Vorlage zu erstellen.

pic001.tif

Bild 1: Anlegen eines neuen Projekts des Typs Addin

Das Projekt enthält ein Objekt namens Connect. öffnen Sie dieses per Doppelklick auf den passenden Eintrag im Projekt-Explorer und passen Sie die folgenden Eigenschaften an:

  • Angezeigter Name des Add-Ins: Access-Ribbon-Add-In
  • Add-In-Beschreibung: Beispiel-Add-In zum Anpassen des Access-Ribbons
  • Anwendung: Microsoft Access
  • Version der Anwendung: Microsoft Access 12
  • Anfängliches Ladeverhalten: Startup

Nun öffnen Sie das Modul dieses Designers (Kontextmenü des Eintrags Connect im Projekt-Explorer, Befehl Code anzeigen). Es enthält bereits einige Elemente, die Sie aber wie auch das Element frmAddin allesamt löschen – Sie benötigen viel weniger als die enthaltenen Elemente, die Sie auch des Lerneffekts wegen komplett neu erstellen.

Damit beginnen Sie, indem Sie einen Verweis auf die Office-Bibliothek von Office 2007 setzen. Diesen finden Sie vermutlich nicht direkt auf Anhieb im passenden Dialog, den Sie mit Projekt/Verweise öffnen. Der Grund ist, dass standardmäßig der Eintrag Microsoft Office 8.0 Object Library gesetzt ist – dies war zum Zeitpunkt der Veröffentlichung von Visual Basic Standard. Entfernen Sie diesen Verweis, schließen Sie den Verweise-Dialog und öffnen Sie ihn erneut, um nun den richtigen Eintrag namens Microsoft Office 12.0 Object Library hinzuzufügen.

Damit das Add-In das Ribbon von Access überhaupt anpassen kann, müssen Sie natürlich zunächst einmal eine entsprechende Ribbon-XML-Datei erzeugen.

Diese darf für den Anfang ganz einfach aussehen:

<customUI xmlns="http://schemas.microsoft.com/
        office/2006/01/customui">
    <ribbon startFromScratch="true">
        <tabs>
            <tab id="tabBeispiel" 
label="Beispiel"> <group id="grpBeispiel" label="Import"> <toggleButton id="tglBeispiel" label="Beispiel"/> </group> </tab> </tabs> </ribbon> </customUI>

Dieses Ribbon-XML-Dokument blendet alle übrigen Einträge aus und fügt ein einziges Ribbon-Tab mit einer Umschaltfläche hinzu.

Speichern Sie das gewünschte Ribbon-XML-Dokument im gleichen Verzeichnis wie das Projekt und fügen Sie es dem Projekt als Ressourcendatei hinzu. Dazu klicken Sie im VB-Ressource-Editor auf die Schaltfläche Benutzerdefinierte Ressource hinzufügen und wählen im nun erscheinenden Dialog die soeben erstellte XML-Datei aus. Die Ressource sollte den Namen 101 haben, damit sie im folgenden Code gefunden wird.

In die Ribbon-Erstellung einklinken

Nun müssen Sie noch dafür sorgen, dass das Add-In irgendwie mitbekommt, wann Access 2007 gestartet wird und eventuelle externe Lieferanten für Ribbon-Informationen abfragt. Das erledigen Sie, indem Sie im Modul der Connect-Klasse zunächst die Schnittstelle IRibbonExtensibility implementieren:

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar