|
|
Zugriff von einem VBA Add-In auf AccessZugriff von einem VBA Add-In auf Access
Wenn man ein Add-In für die VB-IDE schreibt dann kommt der unter Umständen der Wunsch auf, auf die geöffnete Instanz von Access, zu der diese VB-IDE gehört, zugreifen zu können. Die Schaltfläche mit dem Access-Logo oben links in der Symbolleiste lässt die Hoffnung keimen, dass dieser Zugriff nicht all zu schwer zu realisieren ist. Nach ein paar Versuchen bin ich schliesslich zu folgender Lösung gelangt: Im Ereignis On_Connection des Add-Ins wird ein Verweis auf die Anwendung, in der das Add-In gestartet wurde, bereitgestellt. Der Verweis zielt in diesem Fall auf die aktuelle Instanz der VB-IDE. Dieser Verweis wird in einer globalen Variable gespeichert und steht somit überall im Add-In zur Verfügung. Option Explicit
Public ThisVBIDE As VBIDE.VBE Private Sub AddinInstance_OnConnection(ByVal Application As Object, _ ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _ ByVal AddInInst As Object, custom() As Variant) 'Objekt sichern Set ThisVBIDE = Application ... End Sub Über das aktive VB-Projekt der VB-IDE kann man an dessen Dateinamen gelangen. Diesen kann man verwenden, um mit dem Befehl GetObject einen Verweis auf die zugehörige Instanz von Access zu erhalten: Private Sub HoleAccessInstanz() Wenn man den Verweis erst einmal hat, kann man damit alles machen, was man mit einem normalen Application-Objekt auch machen kann. In diesem Fall wird der Name der Datenbank ausgegeben. (Es gibt bestimmt sinnvollere Einsatzzwecke.)
|
02.10.2020: 06.11.2019: 06.05.2017: 27.03.2016: 23.05.2014: |
|
|