Registryeinträge für VBA-Anwendungen

Die Registry von Windows ein undurchschaubarer Dschungel an Einstellungen. Wenn man nicht weiß, was man tut, können Änderungen an diesen Einstellungen zu Problemen beim Einsatz von Windows oder Anwendungen kommen. Es gibt einige API-Funktionen, mit denen man auch per VBA Änderungen an der Registry vornehmen kann. Die API-Programmierung ist aber grundsätzlich ein Profithema, und erst Recht sollten Einsteiger mit API-Funktionen nicht die Registry manipulieren. Zum Glück hat Microsoft jedoch einen Satz von VBA-Funktionen bereitgestellt, mit denen man halbwegs sicher Informationen in die Registry schreiben und diese auch wieder auslesen kann. Der Clou ist, dass man damit einen speziell für VB- und VBA-Anwendungen vorgesehenen Teil der Registry nutzen kann. In diesem Beitrag stellen wir diese Funktionen vor und zeigen, welchen Bereich in der Registry sich damit nutzen lässt.

Weiterlesen

Access-Quellcodeverwaltung mit GitHub Desktop

Es gibt verschiedene Systeme, mit denen wir die Objekte aus Access extrahieren und unter eine Versionsverwaltung stellen können. In diesem Beitrag stellen wir eine Kombination aus dem kostenlosen Tool “Version Control Add-In” und “GitHub Desktop” vor. Dabei zeigen wir, wie die notwendige Komponente zu Access hinzugefügt wird, wie wir diese nutzen, um die Access-Elemente zu extrahieren und wie wir diese mit GitHub Desktop verwalten, um beispielsweise Unterschiede zwischen verschiedenen Versionen einer Datenbank ausfindig zu machen.

Weiterlesen

Datenbanken vergleichen mit GitHub Desktop

Im Beitrag “Access-Quellcodeverwaltung mit GitHub Desktop” (www.access-im-unternehmen.de/1495) haben wir gezeigt, wir man mit dem Tool “Version Control Add-In” und mit “GitHub Desktop” den Inhalt einer Access-Anwendung in Form verschiedener Textdateien in ein externes Verzeichnis extrahieren und davon verschiedene Versionen verwalten und wiederherstellen können. Im vorliegenden Beitrag wollen wir uns nun einen speziellen Einsatzzweck der Kombination dieser beiden Tools ansehen. Angenommen, wir legen regelmäßig Backups unserer Anwendung an. Bei einer neuen Version treten plötzlich Fehler auf, die auf die Änderungen seit dem letzten Backup zurückzuführen sind. Um einzugrenzen, welche Änderungen das Problem auslösen, können wir nun die Elemente der älteren Version exportieren, in ein Repository aufnehmen und als Zwischenstand speichern und dann die aktuelle Version ebenfalls in das Repository schreiben. Dort können wir nun genau anzeigen lassen, welche Unterschiede zwischen den beiden Versionen existieren und dort nach der Ursache für das Problem suchen.

Weiterlesen

Select Case-Bedingung für Texte optimieren

Normalerweise verwenden wir die Select Case-Bedingung so, dass wir im Kopf denen einen Teil des Vergleichsausdrucks platzieren und in den einzelnen Case-Zweigen die Vergleichswerte. Genau genommen ist das der große Unterschied zur If…Then-Bedingung, die immer den kompletten Ausdruck in einem Zweig darstellt. Die If…Then-Bedingung scheint daher bei der Auswertung von Zeichenketten Vorteile zu haben. Wir können aber auch die Select Case-Bedingung prima für Zeichenketten nutzen.

Weiterlesen

Probleme bei Verweisen mit verschiedenen Versionen

Wenn Sie Datenbanken entwickeln, die auf Rechnern eingesetzt werden sollen, die eine ältere Version von Office verwenden, kann es zu Problemem kommen. Abgesehen davon, dass die Datenbank Funktionen enthalten könnte, die auf der Zielplattform nicht verfügbar sind, kommt es vor allem zu Problemen mit Verweisen. Ein Beispiel sind Verweise auf die Office-Anwendungen. Haben Sie Verweise zu den Bibliotheken von Word, Excel, Outlook et cetera, die sich auf die aktuelle Office-Version beziehen, und stellt der Zielrechner diese nicht bereit, kann es sein, dass die Anwendung nicht wie gewünscht funktioniert. Wir schauen uns an, wie die Probleme entstehen und wie wir diese lösen können.

Weiterlesen

Steuerelemente ausrichten per VBA

Access bietet verschiedene Möglichkeiten, um Steuerelemente auszurichten. Diese stellen wir im Beitrag Steuerelemente ausrichten (www.access-im-unternehmen.de/1431) vor. All diese Methoden haben jedoch Vor- und Nachteile. Der größte Nachteil ist, dass sie Zeit kosten – Zeit, die man in viel schönere Arbeiten investieren könnte. Deshalb schauen wir uns in diesem Beitrag an, wie wir in der Entwurfsansicht selektierte Steuerelemente einfach per VBA ausrichten können. Dabei ist nicht die Technik die entscheidende Frage, sondern die Vorgabe, nach welchen Regeln die Ausrichtung genau erfolgen soll. In diesem Beitrag beschreiben wir, wie man per VBA solche Steuerelemente wie Textfeld, Kombinationsfeld, Listenfeld und Kontrollkästchen und ihre Bezeichnungsfelder, die untereinander angeordnet sind, ausrichten kann.

Weiterlesen

URLs kodieren per VBA

URLs enthalten oft Sonderzeichen, die von Internetbrowsern nicht interpretiert werden können. Dabei handelt es sich beispielsweise um Leerzeichen in den Namen von HTML-Dateien oder auch um Sonderzeichen in den Parametern einer URL. Wenn wir zum Beispiel für den Zugriff auf eine REST-API Parameter zu einer URL hinzufügen wollen, die Sonderzeichen enthalten, müssen wir diese für den Browser lesbar machen. Das geschieht durch die sogenannte URL-Kodierung, auch Encoding genannt. Dabei ersetzt man die betroffenen Zeichen durch ein Prozentzeichen gefolgt von einem Zahlencode für das jeweilige Zeichen – bei einem Leerzeichen beispielsweise %20. Die Umwandlung solcher Zeichenketten erledigen wir mit einer VBA-Funktion, die wir im vorliegenden Beitrag vorstellen.

Weiterlesen

JSON-Daten auslesen

Für XML gibt es eine eigene Bibliothek zum Lesen und Schreiben der Inhalte eines XML-Dokuments. Bei JSON sieht das anders aus: Microsoft hat bisher keine Bibliothek bereitgestellt, mit dem man komfortable auf ein JSON-Dokument zugreifen kann. Wir wollen diesen Missstand zumindest ein wenig lindern. Es gibt bereits ein Modul, welches den Inhalt einer JSON-Datei in eine Art Objektmodell einliest, das von VBA aus wesentlich einfacher zu lesen ist. Dieses greifen wir in diesem Beitrag auf und zeigen, wie wir die Struktur der enthaltenen Daten erfassen und damit besser und systematisch auswerten können.

Weiterlesen

VBA: Punkt oder Ausrufezeichen

Unter VBA gibt es Gelegenheiten, wo man zwischen zwei Elemente entweder einen Punkt oder ein Aufrufezeichen setzen kann, zum Beispiel bei gebundenen Steuerelementen in der Form Me.Vorname oder rst!Vorname. Im Gegensatz dazu stehen beispielsweise die Elemente eines Recordsets – hier können wir nur rst!Vorname verwenden, rst.Vorname führt zu einem Fehler. Ganz kompliziert wird es, wenn wir gebundene Steuerelemente auch noch umbenennen. Dann können wir auf den Wert des Steuerelements sowohl über Me!Vorname, Me.Vorname, Me!txtVorname oder Me.txtVorname zugreifen. Und manchmal führt die Syntax mit dem Punkt zu ernsthaften Verwirrungen, weshalb man in manchen Fällen auf jeden Fall die Ausrufezeichen-Syntax nutzen sollte.

Weiterlesen

Dateien per VBA öffnen

Es gibt viele Gelegenheiten, zu denen man gern eine Datei per VBA öffnen möchte. Ein gutes Beispiel ist ein soeben auf Basis eines Berichts erstelltes PDF-Dokument. Doch der Standardumfang von VBA liefert keine Möglichkeit, diese Aufgabe zu erledigen. Und tatsächlich ist das Anzeigen einer Datei nicht trivial, zumindest dann nicht, wenn wir vorher noch nicht wissen, welchen Dateityp die Datei hat und mit welcher Anwendung diese geöffnet werden soll. Allerdings weiß Windows ja auch meistens, mit welcher Anwendung eine Datei geöffnet werden soll, wenn wir diese im Windows Explorer doppelt anklicken. Also muss es einen Weg geben, diese Aufgabe per Code zu erledigen. Und die Lösung ist eine API-Funktion namens ShellExecute.

Weiterlesen