COM-Add-In für den VBA-Editor programmieren

Der VBA-Editor hinkt Visual Studio um Lichtjahre hinterher. Doch es gibt gute Nachrichten: Mit einem COM-Add-In auf Basis von .NET können Sie auch den VBA-Editor noch um Funktionen erweitern. Das zeigen ja auch andere Werkzeugkästen wie etwa die MZ-Tools. Wir wollen in diesem Artikel einmal zeigen, wie Sie ein COM-Add-In in Visual Studio programmieren, das dann beim öffnen des VBA-Editors zu seiner Erweiterung zur Verfügung steht.

Weiterlesen

Menüs für das COM-Add-In für den VBA-Editor

Im Beitrag „COM-Add-In für den VBA-Editor“ haben wir uns zunächst darum gekümmert, überhaupt eine COM-DLL zu programmieren und diese so in die Registry einzutragen, dass sie beim Starten des VBA-Editors geladen wird und die dort angelegten Ereignisprozeduren ausgelöst wurden. Damit sind wir noch lange nicht fertig. Im vorliegenden Artikel schauen wir uns an, wie Sie dem VBA-Editor Menüeinträge für den Aufruf der im COM-Add-In enthaltenen Funktionen hinzufügen – und zwar für die Menüleiste, die Symbolleiste sowie für Kontextmenüs.

Weiterlesen

Kommandozeile per DLL

Wenn Sie von Access aus Befehle ausführen wollen, die Sie normalerweise über die Kommandozeile beziehungsweise die Eingabeaufforderung eingeben würden, ist das kein Problem – das erledigen Sie ganz einfach über die Shell-Anweisung. Interessanter wird es, wenn Sie die Ausgabe der Anwendung einlesen und verarbeiten wollen, um beispielsweise auszuwerten, ob der Aufruf erfolgreich war oder welches Ergebnis dieser geliefert hat. Mit VBA beziehungsweise API-Funktionen gelingt dies nicht immer zuverlässig. Also schauen wir uns in der .NET-Bibliothek um, ob es dort Alternativen gibt, und machen uns diese über eine DLL unter VBA verfügbar.

Weiterlesen

PDF-Dokumente im Griff mit PDFtk

PDFtk ist ein kostenloses bis günstiges Tool, mit dem Sie verschiedene Manipulationen an PDF-Dateien vornehmen können. Damit ist es eine tolle Ergänzung zu Anwendungen, die ihre Dateien wie etwa Rechnungen oder anderen Dokumente per Bericht formatieren und dann als PDF speichern. Vor der Weiterverarbeitung etwa durch das Versenden per E-Mail können Sie die PDFs dann mit PDFtk optimieren, zum Beispiel in dem Sie diese mit einem Kennwort schützen. Dieser Beitrag zeigt, wie Sie PDFtk, das neben der grafischen Benutzeroberfläche auch einen Aufruf per Kommandozeile erlaubt, zum automatisierten Bearbeiten Ihrer PDFs per VBA nutzen.

Weiterlesen

TreeView 64bit ist da – Anwendungen umrüsten

Es ist geschehen: Jahre nach der Einführung der ersten 64bit-Version von Microsoft Access (wer erinnert sich noch) hat Microsoft die 64bit-Version auch mit einer passenden Version der Bibliothek MSCOMCTL.ocx versehen. Das Fehlen von TreeView, ListView und Co. war bisher einer der Hauptgründe, nicht auf 64bit zu wechseln. Derweil gehen dennoch viele Unternehmen diesen Schritt – meist vermutlich einfach, um eine „modernere“ Version von Access zu nutzen. Hier und da vernimmt man allerdings auch Stimmen, dass die 64bit-Version an verschiedenen Stellen Probleme vermeidet, die unter der 32bit-Version aufgetreten sind. In diesem Beitrag schauen wir uns an, was beim Einsatz von Steuerelementen der MSCOMCTL.ocx-Bibliothek zu beachten ist und wie Sie 32bit-Anwendungen fit machen für die 64bit-Version.

Weiterlesen

Gespeicherte Importe und Exporte per VBA

Access bietet in aktuelleren Versionen die Möglichkeit, einen Import oder Export nach dem Abschluss zu speichern. So können Sie diese einfach wieder aufrufen, um den Import oder Export zu wiederholen. Noch schöner ist, dass man auf diese gespeicherten Informationen auch per VBA zugreifen kann. Wie das gelingt und welche Möglichkeiten sich daraus ergeben, schauen wir uns im vorliegenden Beitrag an.

Weiterlesen

Tabellenimport per VBA

Im Beitrag „Import- und Exportspezifikationen per VBA“ zeigen wir, wie Sie etwa den Export oder Import von Textdateien per VBA steuern können. Mit diesen grundlegenden Techniken ausgestattet können wir noch einen Schritt weitergehen und beispielsweise auch komplette Tabelle aus einer anderen Datenbank importieren und diesen Vorgang per VBA ausführen. Wenn Sie etwa regelmäßig immer wieder die gleichen Tabellen aus einer Vorlagendatenbank in die Zieldatenbank importieren, müssen Sie normalerweise immer den entsprechenden Import-Assistenten dazu nutzen. Das können Sie von nun an auch mit ein paar Zeilen VBA-Code erledigen.

Weiterlesen

Objekt- und Feldnamen refaktorieren

Es kommt vor, dass man als Access-Entwickler mit der Weiterbearbeitung von Datenbanken betraut wird. Oft geschieht es dann, dass Objekt- und Feldnamen nicht den gängigen Konventionen entsprechen. Tabellennamen kommen ohne Präfix, Objekt- und Feldnamen enthalten Umlaute, Leerzeichen et cetera. Um dadurch entstehende Probleme zu vermeiden, können wir die Benennungen anpassen. Wie dies gelingt, zeigt der vorliegende Beitrag.

Weiterlesen

Daten in Properties verstecken

Daten schreibt man in einer Datenbank üblicherweise in die Datensätze der enthaltenen Tabellen. Manchmal möchten Sie aber vielleicht wichtige Informationen, die nicht zu den vom Benutzer verwendeten Daten gehören, versteckt unterbringen. Ein gutes Beispiel dafür ist das Datum der ersten Anwendung einer Datenbank, für die der Benutzer nur über einen bestimmten Zeitraum benutzen darf. Dieser Artikel zeigt, wo Sie solche Daten unterbringen können und wie Sie diese wieder abrufen.

Weiterlesen

Datenkompression leicht gemacht

Wenn Sie längere Texte in Tabellen abspeichern oder umfangreiche Binärdaten in OLE-Feldern ablegen, so bläht das die Datenbank auf. Während dieser Umstand bei lokalen Datenbanken heutzutage kein Problem mehr darstellt, sieht die Sache in einer Mehrbenutzerumgebung und Netzwerkzugriffen auf Backends schon anders aus. Hier sollte der Traffic minimiert werden. Da macht sich dann die Komprimierung solcher Datenfelder gut, was zu verbesserter Performance führen kann.

Weiterlesen