Zugriff auf VBA-Projekte per VBProject

Die Klasse VBProject des Objektmodells zum Programmieren des VBA-Editors und der enthaltenen Elemente bietet einige interessante Eigenschaften, Methoden und Auflistungen. Diese schauen wir uns im vorliegenden Beitrag an. Hier wird deutlich, dass die VBProjects im VB-Editor nicht nur für Access-Datenbanken genutzt werden können, sondern auch noch für andere Anwendungen – es gibt nämlich einige Elemente, die unter Access nicht funktionieren.

Weiterlesen

Das Application-Objekt

Eines der wichtigsten Objekte bei der Programmierung von Access-Anwendungen ist das Application-Objekt. Es bietet viele Eigenschaften und Methoden, die stiefmütterlich behandelt werden. Dabei lohnt es sich, einmal einen Blick darauf zu werfen – dann weiß man im Fall der Fälle, dass es da irgendwo einen passenden Befehl geben muss … Dieser Beitrag zeigt eine Übersicht der Elemente des Application-Objekts und deren Funktion. In weiteren Beiträgen schauen wir uns ihre Funktion der einzelnen Eigenschaften und Methoden im Detail an.

Weiterlesen

Registry per VBA, 32- und 64-Bit

Die Registry von Windows ist für den einen oder anderen ein Buch mit sieben Siegeln. Tatsache ist: Dort landen manche wichtigen Informationen, die Sie gegebenenfalls einmal mit VBA auslesen wollen, oder Sie wollen dafür sorgen, dass per VBA bestimmte Elemente in der Registry angelegt werden. Wir stellen einige Routinen vor, die Ihnen die Arbeit mit der Registry erleichten. Gleichzeitig liefern wir den Code in 64-Bit-kompatibler Form.

Weiterlesen

Ribbon: Callback-Signaturen für VBA und VB6

Wer das Ribbon um benutzerdefinierte Erweiterungen ergänzen möchte, kommt früher oder später nicht um die Programmierung von Callbackfunktionen herum. Das sind Funktionen, die für Callback-Attribute von Ribbon-Elementen angegeben werden und die für verschiedene Aktionen aufgerufen werden – beispielsweise beim Anklicken einer Schaltfläche, beim Ändern des Inhalts eines Textfeldes oder schlicht, um vor dem Anzeigen dynamisch Einstellungen für Attribute des Ribbons einzulesen. Diese Callbackfunktionen haben eine bestimmte Signatur (sprich Definition der ersten Zeile). Da diese für den Einsatz von VBA und VB6 unterschiedlich aussehen und aktuell twinBASIC als Ersatz für VB6 heranreift, wollen wir eine Referenz der Callback-Signaturen für diese beiden Programmiersprachen anbieten.

Weiterlesen

Benutzerdefinierte Bilder in twinBASIC

Die Programmiersprache/Entwicklungsumgebung twinBASIC entwickelt sich aktuell stetig weiter. Der Entwickler Wayne Philips fügt ständig neue Elemente hinzu. In den ersten Beiträgen mussten wir das Ribbon eines COM-Add-Ins noch mit den eingebauten Icons ausstatten, da es nicht möglich war, Bilddateien als Resourcen in die DLL zu integrieren. Das hat sich nun geändert: Sie können Bilddateien zum Projekt hinzufügen und diese sehr einfach im Ribbon nutzen. Dieser Beitrag zeigt, wie das gelingt.

Weiterlesen

Optionen per VBA für Access 2019

In einem früheren Beitrag namens “Access-Optionen gestern und heute” haben wir uns einmal angesehen, welche Access-Optionen es gibt und wie Sie diese per VBA einstellen können – unter anderem mit den Methoden SetOption oder über die Eigenschaften des Database-Objekts der aktuell geöffneten Datenbank. Damals ging es noch um den Optionen-Dialog von Access 2003, der sich mittlerweile stark verändert hat. Um eine aktualisierte Version dieses Beitrags soll es in diesem Beitrag gehen. Grundlage ist dabei die Access 365-Version von Mitte 2021.

Weiterlesen

API-Funktion GetSaveFileDialog (32-Bit und 64-Bit)

Das Öffnen eines Dialogs zum Auswählen des Namens einer zu speichernden Datei erledigen Sie beispielsweise mit der API-Funktion “GetSaveFileDialog”. Diese stellen wir im vorliegenden Beitrag für 32-Bit- und 64-Bit-Office vor. Dabei stellen wir auch die Änderungen heraus, die für das Update einer eventuell bereits bestehenden 32-Bit-Version auf die 64-Bit-Version notwendig sind.

Weiterlesen

API-Funktionen finden und speichern

Eine umfangreiche Access-Anwendung kann in ihrem VBA-Projekt einige API-Deklarationen enthaltenen. Je länger diese Anwendung bereits entwickelt wird, desto mehr solcher Deklarationen haben sich im Laufe der Zeit in vielen verschiedenen Modulen angesammelt. Und umso mehr dieser APIs werden vielleicht gar nicht mehr verwendet, weil man sie grundsätzlich nicht mehr braucht oder sie durch andere Funktionen oder DLLs ersetzt hat. Daher ist es grundsätzlich interessant, nicht mehr verwendete Deklarationen von API-Funktionen aus der Anwendung zu entfernen. Noch interessanter wird dies, wenn die Migration einer für 32-Bit-Access ausgelegten Anwendung zu einer Anwendung ansteht, die auch unter 64-Bit-Access ihren Dienst tun soll. Je weniger API-Funktionen dann deklariert sind, umso weniger Anpassungen sind notwendig. Im vorliegenden Beitrag schauen wir uns zunächst an, wie Sie die API-Deklarationen und die gegebenenfalls benötigten Konstanten und Typen überhaupt finden.

Weiterlesen

API-Typen und -Konstanten finden und speichern

Im Beitrag “API-Deklarationen finden und speichern” haben wir gezeigt, wie Sie alle API-Deklarationen eines VBA-Projekts finden und sowohl die Daten der API-Funktion als auch die der Parameter in zwei Tabellen speichern. Zu API-Deklarationen gehören jedoch auch einige Konstanten und Typen, die beim Aufruf der API-Funktionen verwendet werden oder als Parameter der Funktionen dienen. Im Sinne des Schaffens einer Möglichkeit zum Migrieren von API-Deklarationen von 32-Bit zu 64-Bit wollen wir auch diese Elemente zunächst in entsprechenden Tabellen speichern, um diese dann per Code anzupassen und in der 64-Bit-Version auszugeben.

Weiterlesen