Anwendungsdaten in der Registry

Wenn man es gewohnt ist, mit Access zu arbeiten, liegt es nahe, Anwendungsdaten wie Optionen et cetera in einer Tabelle der Datenbankdatei zu speichern. Unter Excel, Word, Outlook oder auch für twinBASIC-Anwendungen ist das nicht so einfach. Wir könnten zwar eine Datenbank zu diesem Zweck heranziehen, aber je nach Anwendungsfall gibt es praktischere Lösungen – zum Beispiel Textdateien, XML-Dateien oder auch die Registry. Letztere schauen wir uns in diesem Artikel an. Wie können wir dort Einstellungen sichern und wieder abrufen? Wo in der Registry landen diese dann? Können wir überhaupt per VB, VBA und twinBASIC darauf zugreifen? All dies klären wir auf den folgenden Seiten.

Weiterlesen

Outlook: E-Mails nach Eingang verarbeiten

Die verschiedenen Klassen von Outlook bieten eine ganze Reihe von Ereignissen an. Diese werden durch unterschiedliche Aktionen ausgelöst. Eine dieser Aktion ist das Eintreffen einer oder mehrerer neuer E-Mails. Dieses Ereignis mit einer geeigneten Ereignisprozedur abzufangen ist ein sinnvolles Beispiel für die Beschreibung der Programmierung von Ereignissen unter Outlook. Mit E-Mails kann man nach dem Eingang eine Menge anstellen – diese löschen, in einen anderen Ordner verschieben, die Message-Datei im Dateisystem sichern oder auch die Inhalte auslesen, um diese etwa in eine Datenbank zu schreiben. In diesem Artikel beschreiben wir erst einmal allgemein, wie wir überhaupt mit VBA-Code auf den Eingang einer E-Mail reagieren können.

Weiterlesen

VBA Basics: Module, Klassen und Co.

Unter VBA strukturieren wir den Code in verschiedene Elemente. Die übergeordneten Elemente sind die Module. Hier unterscheiden wir zwischen Klassenmodulen und Standardmodulen. Darunter können wir Variablen und ähnliche deklarieren sowie auszuführende Anweisungen unterbringen. Diese Anweisungen müssen eine Voraussetzung erfüllen: Sie müssen in einer Sub- oder Function-Prozedur oder innerhalb einer Property-Methode eingetragen werden. In diesem Artikel schauen wir uns die Grundlagen von Modulen, Klassenmodulen und Objektmodulen im Detail an.

Weiterlesen

COM-Add-Ins mit twinBASIC

COM-Add-Ins sind Erweiterungen für Office-Anwendungen und ihre Entwicklungsumgebung, den VBA-Editor. Damit lassen sich Erweiterungen programmieren, die über die Benutzeroberfläche der jeweiligen Anwendung verfügbar gemacht werden und ihre Aufgabe mit oder ohne ein eigenes User-interface bereitstellen. COM-Add-Ins kann man jedoch nicht mit den Mitteln der Office-Anwendungen selbst programmieren. Dazu sind weitere Tools notwendig. Früher ging dies am einfachsten mit Visual Studio 6. Dieses ist jedoch spätestens seit der Einführung der 64-Bit-Versionen der Office-Anwendungen nicht mehr nutzbar, sodass Alternativen gefragt sind. Neben Visual Studio .NET, das ebenfalls das Erstellen von COM-Add-Ins erlaubt, erschien vor kurzer Zeit eine neue Alternative: twinBASIC ist ein Projekt von Wayne Phillips, das sich nicht nur anschickt, Nachfolger von Visual Studio 6 zu werden, sondern schon jetzt das Erstellen unter anderem von COM-Add-Ins ermöglicht. Dieser Artikel stellt die grundlegenden Techniken zum Erstellen eines Gerüsts für COM-Add-Ins vor, das wir in weiteren Artikel mit praktischen Lösungen für die Erweiterung der Office-Anwendungen und auch des VBA-Editors nutzen werden.

Weiterlesen

Bitmaps programmieren mit VB.NET

Wer von Access/VBA kommt, kennt das Problem: Alles, was mit der Erstellung und Bearbeitung von Grafiken zu tun hat, ist sehr kompliziert und erfordert in der Regel die Verwendung von API-Funktionen. Unter VB.NET ist dies sehr viel einfacher. Daher bietet es sich nicht nur an, die Grafikfähigkeiten des Namespaces System.Drawing für .NET-Anwendungen zu nutzen. Sie können die gewünschten Funktionen beispielsweise auch in DLLs integrieren, die Sie dann von Access aus einbinden und aufrufen können. Im vorliegenden Artikel wollen wir uns jedoch zunächst einmal die grundlegenden Möglichkeiten zum Erstellen und Bearbeiten von Bilddateien unter .NET ansehen.

Weiterlesen

EPC-QR-Code per DLL

Das Bezahlen von Rechnungen macht heutzutage noch weniger Spaß als es ohnehin schon tut – neben der unausweichlichen Verminderung des Kontostandes ist es auch keine Freude, ellenlange IBAN-Folgen und kryptische Verwendungszwecke einzugeben. Wie Ihre Kunden demnächst wenigstens letzteres schwungvoll erledigen können, haben wir im Artikel EPC-QR-Code für Rechnungen (www.datenbankentwickler.net/300) gezeigt. Damit gelingt das Erzeugen eines QR-Codes, der alle notwendigen Informationen enthält, die von den gängigen Smartphone-Apps der Banken problemlos per Kamera eingelesen und in die Felder des Überweisungsformulars füllt. Im genannten Artikel können Sie den QR-Code für eine Rechnung vorbereiten, aber wenn Sie mehrere Rechnungen auf einen Rutsch stellen wollen, dann wollen Sie die Daten beispielsweise aus einer Datenbank direkt per Code verarbeiten und den erstellten QR-Code direkt in eine Rechnung einbetten. Die Voraussetzungen erledigen wir im vorliegenden Artikel, indem wir eine DLL mit allen notwendigen Funktionen zum Erstellen des notwendigen QR-Codes programmieren.

Weiterlesen

Seminarverwaltung I: Entity Data Model

Es wird Zeit, die gelernten Techniken mal wieder an einer praktischen Lösung auszuprobieren. In diesem Fall soll es eine Anwendung werden, die ich selbst einsetzen will, da ich seit ein paar Wochen auch Webinare zu verschiedenen Themen anbiete. Die Herausforderung ist, die Kunden, die über einen Onlineshop bestellt haben, in die Anwendung einzulesen und diese den entsprechenden Seminaren beziehungsweise Webinaren zuzuordnen. Zu gegebener Zeit sollen die Teilnehmer eine Mail mit dem Link zur Teamssitzung erhalten und anschließend noch einen Link mit dem Download der Aufzeichnung des Seminars. Schließlich sollen auch noch Zertifikate über die Teilnahme erstellt und versendet werden. Wie dies alles gelingt, zeigt der vorliegende Artikel.

Weiterlesen

Seminarverwaltung III: Daten vom Shopsystem

Unsere Seminarverwaltung lebt unter anderen davon, dass Bestellungen über ein Shopsystem eingehen. Hier nutzen wir elopage, einen Anbieter, mit dem man verschiedene digitale Dienstleistungen online verkaufen kann. elopage übernimmt dabei einige Aufgaben wie etwa die Bereitstellung von Produkt- und Bestellseiten. Nachdem eine Bestellung erfolgt ist, landen die Daten des Kunden inklusive der Daten zum bestellten Artikel in der Datenbank von elopage. Die Bestelldaten können wir per CSV-Datei exportieren und in unsere Seminarverwaltung einlesen. Dazu verwenden wir das NuGet-Paket CsvHelper, das wir in zwei weiteren Artikeln bereits vorgestellt haben. Der vorliegende Artikel zeigt, wie wir die beschriebenen Techniken für den Import in einem konkreten Anwendungsfall nutzen können.

Weiterlesen

Typumwandlung unter VB.NET

Unter VB.NET gibt es verschiedene Möglichkeiten, den Typ von Variablen umzuwandeln. Dieser Artikel erläutert den Unterschied zwischen impliziter und expliziter Typumwandlung, die Bedeutung von Option Strict, die verschiedenen Typumwandlungsfunktionen wie CBool und die Methoden der Convert-Klasse. Außerdem gibt es noch flexible Umwandlungsfunktionen wie CType, DirectCast oder TryCast – auch diese schauen wir uns genauer an.

Weiterlesen

Nicht-generische Auflistungen unter VB.NET

Unter VB6/VBA waren die bekanntesten und sofort einsetzbaren Auflistungsklassen das Array und die Collection. Sie boten einfache Möglichkeiten zum Hinzufügen von Objektverweisen oder Werten, zum Löschen derselben oder auch zum Bearbeiten. Wer mehr brauchte, konnte sich noch des Dictionary-Objekts bedienen, was aber schon das Einbinden eines weiteren Verweises erforderte. Unter .NET gibt es bei Auflistungsklassen einen wichtigen Unterschied: nicht-generische Auflistungsklassen, die nicht stark typisiert sind und generische Auflistungsklassen, die stark typisiert sind. Der vorliegende Artikel betrachtet die wichtigsten nicht-generischen Auflistungsklassen und ihre Eigenschaften.

Weiterlesen