 |
Dies ist ein
5 -Sterne-Beitrag von
Fit-for-Access.de |
Nehmen wir an, dass Sie eine Routine für den Import von Excel-Daten per Symbol über die Symbolleiste des Datenbankfensters aufrufen möchten. Bis Office 2003 können Sie in Word und Excel eine solche Einbindung einfach über die „Anpassen“-Funktion und Ziehen/Ablegen des Makros aus der Liste BEFEHLE der Kategorie „Alle Makros“ in die betreffende Symbolleiste erledigen. In Access werden Ihnen aber unter „Alle Makros“ nur Makros angezeigt, die im Bereich „Makros“ des Datenbankfensters angelegt sind, VBA-Routinen fehlen hier.
Auf den ersten Blick scheint es daher so zu sein, dass man VBA-Routinen nicht per Symbol aufrufen kann. Dabei ist lediglich die Vorgehensweise unter Access nur etwas anders als bei anderen Office-Anwendungen. Voraussetzung ist zunächst, dass die Routine als „Function“ deklariert ist.
Eine Prozedur ändern Sie in eine Funktion, indem Sie einfach das „Sub“ im Prozedurkopf mit „Function“ übertippen. Access ändert den Rest wie „End Sub“ oder „Exit Sub“ automatisch in „End Function“ oder „Exit Funktion“. Ein Funktionsergebnis der Form „As Integer“ muss nicht zwingend deklariert werden.
Nach der Speicherung der Änderungen und Aktivierung des Datenbankfensters gehen Sie wie in diesem Beitrag aus Access_aktuell erläutert vor: - Klicken Sie mit der rechten Maustaste auf die Symbolleiste und wählen Sie das Kontextmenü ANPASSEN aus.
- Wechseln Sie auf die Registerkarte BEFEHLE und aktivieren Sie die Kategorie DATEI.
- Ziehen Sie den Eintrag BENUTZERDEFINIERT an die gewünschte Position in der Symbolleiste.
- Klicken Sie mit der rechten Maustaste auf das Symbol BENUTZERDEFINIERT – Access zeigt nun eine Eigenschaftenseite für das Symbol an.
- Ändern Sie hier BESCHREIBUNG zum Beispiel auf „Excel-Import“ und klicken Sie dann auf EIGENSCHAFTEN.
- Im angezeigten Dialog geben Sie im Feld BEI AKTION diesen Ausdruck ein:
=Funktionsname()
„Funktionsname“ ersetzen Sie durch den Namen Ihrer VBA-Routine.
- Klicken Sie nun zweimal auf SCHLIEßEN.
In Zukunft können Sie die VBA-Routine per Mausklick in die Symbolleiste starten. Möchten Sie die VBA-Routinen aus Formularen per Symbol abrufen, öffnen Sie zunächst ein beliebiges Formular und nehmen dann die oben erläuterten Anpassungen vor.