UstIdNr, IBAN und Co. per Kontextmenü

Eine Sache, die mich seit Jahren nervt, ist das ständige Heraussuchen von Informationen, die ich mir (nicht mehr) merken kann oder will: Umsatzsteuer-Identifikationsnummern, IBAN, Kreditkartennummern, Anschriften et cetera. Ich habe verschiedene Orte ausprobiert: Kurznotizen von Windows, Textdateien oder Notizen in Outlook. Ich fand es dennoch immer zu aufwendig, erst den entsprechenden Ort zu öffnen, die gewünschte Information zu kopieren und dann am gewünschten Ort einzufügen. Schließlich kam ich auf die Idee, wie es schneller und besser geht: Ich wollte das Kontextmenü von Windows so erweitern, dass die entsprechenden Informationen per Mausklick auf den gewünschten Eintrag in der Zwischenablage landen, von wo aus ich diese schnell per Strg + V an der entsprechenden Stelle einfügen kann. Diese Lösung stelle ich in diesem Artikel vor. Dabei schauen wir uns zuerst an, wie das grundsätzlich funktioniert. Anschließend bauen wir eine kleine Access-Datenbank, in der wir diese Einträge verwalten und diese schnell im Kontextmenü verfügbar machen können.

Weiterlesen

Windows-Kontextmenü mit TreeView verwalten

Im Artikel “UstIdNr, IBAN und Co. per Kontextmenü” (www.vbentwickler.de/480) haben wir gezeigt, wie wir die Windows-Kontextmenüs erweitern können. In diesem Fall haben wir Daten, die man gegebenenfalls nicht alle im Kopf hat, aber regelmäßig benötigt, einfach über ein Kontextmenü in die Zwischenablage einfügen kann, um diese dann an der gewünschten Stelle beispielsweise in einem Bestellformular einträgt. Um das Hinzufügen und Aktualisieren dieser Einträge weiter zu vereinfachen und die zahlreichen Handgriffe zu ersparen, zeigen wir im vorliegenden Artikel eine Access-Lösung, mit der wir die Kontextmenü-Befehle mit einem einfachen TreeView verwalten und erweitern können.

Weiterlesen

DHL-Versandetiketten erstellen per VBA

Wer Kunden und Bestellungen mit einer Access-Datenbank verwaltet oder gegebenenfalls auch mit einer Excel-Tabelle, möchte vielleicht Zeit sparen und die Etiketten für den Versand von Lieferungen an seine Kunden automatisieren. Das gelingt mit den verschiedenen Webservices von DHL. Wir haben bereits einmal eine solche Lösung vorgestellt, aber DHL hat seine Schnittstellen für die Erstellung von Versandetiketten aktualisiert. In diesem Artikel schauen wir uns an, wie die neuen Schnittstellen funktionieren: Welche Daten benötige ich? Welche URL muss für den Zugriff verwendet werden? In welcher Form übergebe ich beispielsweise die Adressdaten an den Webservice?

Weiterlesen

Klassen programmieren unter VBA

Neben den Standardmodulen gibt es in VBA-Projekten auch noch einen weiteren Typ von Modulen, nämlich die Klassenmodule. Diese kommen wiederum in zwei Ausführungen: Es gibt alleinstehende Klassenmodule und eingebaute Klassenmodule, die den Code zu bestimmten Objekten enthalten – wie beispielsweise die Klassenmodule zu Formularen und Berichten in Access, zu Word-Dokumenten für das Dokument oder in Excel für Worksheet und Workbook. Auch in Outlook gibt es Klassenmodule. Wir wollen uns an dieser Stelle jedoch auf die alleinstehenden Klassenmodule konzentrieren, also auf solche, die wir selbst anlegen müssen. Hier schauen wir uns an, warum man diese überhaupt nutzen sollte, welche Anwendungszwecke es gibt und welche Best Practices sich für uns etabliert haben.

Weiterlesen

Google Calendar per Rest-API programmieren

Google-Kalender sind praktisch: Sie sind von überall erreichbar, können mit endlos vielen Schnittstellen und Diensten verbunden werden und bieten weitere Vorteile. Noch schöner wäre es natürlich, wenn wir auch per VBA auf diese Kalender zugreifen könnten. Die Vorbereitungen haben wir bereits in zwei weiteren Artikeln erledigt – damit haben wir eine App bei Google angelegt und eine COM-DLL programmiert, mit der wir ein Token für die Authentifizierung bei Google generieren können. Damit folgt nun die Kür: Wir erzeugen VBA-Prozeduren, um auf die verschiedenen Informationen der Google Calendar API zuzugreifen. Dazu gehören Kalender, Termine und vieles mehr. Welche Möglichkeiten sich zum Lesen, Schreiben, Ändern und Löschen von Terminen bieten, zeigen wir auf den folgenden Seiten.

Weiterlesen

COM-Add-In für Word: PDF-Export

Nachdem wir bereits gezeigt haben, wir man COM-Add-Ins für die Verwendung in anderen Office-Anwendungen nutzen kann, wollen wir nun auch einmal eines für Word programmieren. Die Aufgabe lautet, die verschiedenen Funktionen, die wir im Artikel “Word: PDF per VBA erzeugen” definiert haben, in Word für alle Dokumente bereitzustellen. Dazu erstellen wir ein neues COM-Add-In mit der Entwicklungsumgebung twinBASIC. Das COM-Add-In soll seine Funktionen per Ribbon bereitstellen, sodass der Benutzer mit wenigen Mausklicks die gewünschten Exporte erzeugen kann. Dazu gehört der Export des vollständigen Dokuments, aller Seiten einzeln, eines bestimmten Bereichs, der aktuellen Seite oder auch von Bereichen, die durch bestimmte Formatierungen eingeleitet werden.

Weiterlesen

Outlook: Kontextmenüs anpassen

In den Office-Anwendungen Word, Excel oder Access passen wir vorhandene Kontextmenüs per VBA über das Objektmodell von Office an. Auch das Hinzufügen und die Anzeige benutzerdefinierter Kontextmenüs erledigen wir auf diese Weise. Unter Outlook sieht die Situation anders aus: Hier wurde die Definition von Kontextmenüs bereits in die Ribbondefinition integriert. Wir haben dort einen eigenen Abschnitt namens “contextMenu” mit dem wir vorhandene Kontextmenüs anpassen und erweitern können. In diesem Artikel schauen wir uns an, wie wir solche Anpassungen vornehmen und welche Möglichkeiten sich daraus ergeben.

Weiterlesen

COM-Add-In zum Übersetzen von Word-Dokumenten

Das Internet bietet für beinahe jeden Zweck einen Service. Auch für das Übersetzen von Texten. Ein Anbieter heißt DeepL. Er bietet nicht nur eine Benutzeroberfläche, in die man Texte eingeben kann, die direkt übersetzt werden, sondern auch noch eine API. Dieser können wir programmgesteuert Texte übergeben und die Übersetzung entgegennehmen. Das ist sehr praktisch für diejenigen Bereiche der Programmierung, wo man Texte in einer anderen oder in mehreren Sprachen braucht. In diesem Artikel wollen wir uns jedoch ansehen, wie wir aus den Techniken, die wir in weiteren Artikeln vorgestellt haben, ein COM-Add-In bauen, das sich nahtlos in die Word-Benutzeroberfläche eingliedert und auf Knopfdruck komplette Dokumente oder auch nur markierte Bereiche in die gewünschte Sprache übersetzt.

Weiterlesen

Rechnungen mit Word und Access

Office bietet verschiedene Möglichkeiten, um Rechnungen zu erstellen. Du kannst ein Worksheet in Excel dazu nutzen, eine Rechnung zu erstellen, die Berichte unter Access eignen sich recht gut dafür, aber auch Word lässt sich prima zum Erstellen von Rechnungen nutzen. Alle haben Vor- und Nachteile: Unter Excel gerät das Berechnen von Beträgen zum Kinderspiel, während mehrseitige Rechnungen eher schwierig zu realisieren sind, unter Access können Berichte recht flexibel realisiert werden, während man sich gerade für mehrseitige Berichte etwas einarbeiten muss – und unter Word kann man das Layout sehr einfach anpassen, während hier die Berechnung nicht so intuitiv erfolgt. Wir schauen uns eine Kombination aus Access und Word an: Die Daten stammen aus Access-Tabellen, während wir die Rechnung selbst in Word erstellen. So lassen sich auch nach dem Erstellen noch Feinheiten anpassen.

Weiterlesen