Google-Authentifizierung mit OAuth2, Update

In den beiden Artikeln “OAuth2-Token für Google per .NET-App holen” (www.vbentwickler.de/413) und “Google-Token per DLL holen” (www.vbentwickler.de/409) haben wir Techniken beschrieben, mit denen wir ein Google OAuth2-Token ermitteln können, das wir für den Zugriff auf die Google Rest API per VBA benötigen. Dazu haben wir das NuGet-Paket Google.Apis.Calendar.v3 verwendet. Leider funktionierte das Ermitteln des Access-Tokens mit dem Refresh-Token nicht wie gewünscht. Also stellen wir in diesem Artikel eine Erweiterung der Projekte aus den vorgenannten Artikeln vor, mit denen wir den Zugriff immer erneuern können – wenn auch jeweils auf Kosten einer erneuten Anmeldung über den Webbrowser.

Weiterlesen

Outlook: Kalender und Termine programmieren

Outlook-Kalender und -Termine sind neben den E-Mails und Kontakten weitere wichtige Elemente. In diesem Artikel schauen wir uns an, wie wir per VBA auf die einzelnen Kalender und die darin enthaltenen Termine zugreifen können. Dabei durchlaufen wir Kalender und Termine, um diese auszulesen, legen neue Termine an, löschen Termine und bearbeiten vorhandene Termine. Wozu das alles? Damit wir wissen, welche Elemente und welche Eigenschaften wir per VBA referenzieren müssen, um verschiedene Aufgaben erfüllen zu können: Zugriff von anderen Anwendungen, um Termine anzulegen, Termine zu lesen oder auch um Termine aus Outlook heraus in andere Kalenderanwendungen wie beispielsweise Google Calendar zu exportieren.

Weiterlesen

JSON-Dokumente per Objektmodell zusammenstellen

.NET bietet sehr viele Steuer-elemente. Viel mehr als beispielsweise Microsoft Access. Und auch wenn man unter Access mit den eingebauten Steuerelementen die meisten Aufgaben im Bereich einer Datenbanksoftware erledigen kann, wünschen sich viele Entwickler, auch einmal andere Steuer-elemente nutzen zu können. Wir untersuchen in diesem Artikel, ob und wie wir .NET-Steuerelemente unter Access einbinden und in Formularen anzeigen können.

Weiterlesen

OAuth2-Token für Google per .NET-App holen

Einer der wenigen Schritte, die wir nicht mit klassischem Visual Basic oder per VBA abgebildet haben, ist das Ermitteln eines OAuth2-Tokens für Rest-APIs wie die von Google oder anderen Anbietern. Die Aufgabe ist, mit den online einmalig ermittelten Daten Client-ID und Client-Secret ein Access-Token oder noch besser ein Refresh-Token zu holen. Das Access-Token ist in der Regel zeitlich begrenzt, das Refresh-Token ist haltbarer und ermöglicht es uns, neue Access-Token zu holen – dies übrigens mit einer reinen VB6/VBA-Prozedur. In diesem Artikel zeigen wir, wie wir eine kleine Anwendung mit Benutzeroberfläche auf Basis von WPF/VB.NET in Visual Studio erstellen. Diese soll die Eingabe von Client-ID und Client-Secret erlauben und dafür die Werte eines Refresh- und eines Access-Tokens zurückliefern.

Weiterlesen

twinBASIC: Überblick der Controls und Eigenschaften

twinBASIC bietet genau wie Visual Basic 6 einige Steuerelemente an – neben den vielfach verwendete Elementen wie Button, TextBox und Label haben wir die Auswahl zwischen vielen weiteren Steuerelementen, mit denen sich die wesentlichen Anforderungen an Desktop-Anwendungen umsetzen lassen. In diesem Artikel schauen wir uns die Steuerelemente einmal im Überblick an und betrachten einige der Eigenschaften, welche die meisten Steuerelemente gemeinsam haben. In weiteren Artikeln gehen wir dann im Detail auf die einzelnen Steuerelemente ein und zeigen, wie wir diese programmieren und nutzen können.

Weiterlesen

twinBASIC: Daten von Form zu Form

Wenn man mit SDI-Forms arbeiten, also mit solchen Formularen, die als einzelne Fenster geöffnet werden, möchte man manchmal eine der folgenden beiden Aufgaben erledigen – oder auch beide: Das aufrufende Formular soll Daten an das aufgerufene Formular übergeben, beispielsweise um den Primärschlüssel eines im Detailformular anzuzeigenden Datensatzes zu übergeben. Oder man möchte ein Formular zum Abfragen von Daten öffnen und diese dann vom aufrufenden Formular aus aufrufen. Wie beides gelingt und welche unterschiedlichen Wege es dazu gibt, schauen wir uns in diesem Artikel an. Außerdem betrachten wir, welche Arten von Daten man grundsätzlich übertragen können sollte.

Weiterlesen

Outlook: Ribbon per COM-Add-In anpassen

Wenn wir Outlook um eigene Funktionen erweitern wollen, stellt sich eine Frage: Wie wollen wir diese auslösen? Es gibt einige Ereignisse, die wir bereits im Artikel Outlook: Explorer automatisieren (www.vbentwickler.de/307) erläutert haben. Diese werden beispielsweise durch Benutzeraktionen wie das Verschieben einer E-Mail in einen anderen Ordner ausgelöst. Aber wie können wir eigene Funktionen über die Benutzeroberfläche starten? Dazu bietet sich das Ribbon an. Hier können wir eigene Bereiche definieren, in denen wir unsere Funktionsaufrufe unterbringen. Der vorliegende Artikel erläutert, wie wir das Ribbon unter Outlook anpassen. Dabei sind einige Dinge zu berücksichtigen – zum Beispiel, dass es nicht wie bei den übrigen Office-Anwendungen nur ein Fenster gibt, das eine eigene Ribbondefinition verwendet.

Weiterlesen

Excel: Add-In mit Ribbon-Button erstellen

Wir können Excel nicht nur um benutzerdefinierte Funktionen erweitern, die wir in eine Add-In-Datei schreiben und die dann überall als Formel verfügbar sind. Wir können auch Funktionen hinzufügen, mit denen wir die Anwendung um selbst programmierte Abläufe erweitern. In diesem Artikel zeigen wir, wie Du einem Excel-Add-In ein eigenes Ribbontab hinzufügst sowie eine Funktion, die durch einen Button auf diesem Ribbontab ausgelöst wird.

Weiterlesen

Anwendungsdaten speichern per VB.NET

Wenn man wie im Artikel “Standalone-Apps mit .NET programmieren” beschrieben kleine Hilfsprogramme erstellt, kommt es vor, dass man dort Daten eingibt, die auch nach dem Schließen und dem erneuten Öffnen der Anwendung noch erhalten sein sollen. Wenn Du in einer solchen Anwendung beispielsweise immer wieder Daten aus dem gleichen Verzeichnis verarbeiten möchtest, willst Du das Verzeichnis nicht jedes Mal erneut auswählen. Man kann damit auch andere Daten wie Verbindungszeichenfolgen, Benutzernamen für Logins oder ganz allgemein Optionen speichern. All dies könnte man auch in einer Datenbank speichern, aber wenn die Menge der Daten überschaubar ist, erhalten wir mit der in diesem Artikel vorgestellten Lösung eine wesentlich leichtgewichtigere Alternative.

Weiterlesen

DHL-Paketlabel per VBA erstellen

Beim Versand von Paketen kommt recht oft DHL zum Einsatz. Die einfachste Form der computergestützten Erstellung von Paketlabeln ist dabei das Anmelden bei DHL und das Erstellen eines Labels durch Eingabe der Adressdaten und Bezahlung auf der Webseite. Etwas mehr Möglichkeiten bietet ein Geschäftskundenkonto beim Anbieter DHL. Hier können wir einen Schritt weitergehen und die Adressdaten beispielsweise per CSV übermitteln. Noch schöner wäre es, wenn wir von der jeweiligen Anwendung aus – ob es sich nun um eine Access-Datenbank, eine Excel-Tabelle oder sogar Outlook handelt – direkt per Mausklick ein Paketlabel zur Sendung eines Pakets an den jeweiligen Kontakt erstellen könnten, dass dann beispielsweise als PDF auf unserem Rechner landet. Wie das gelingt, zeigen wir im vorliegenden Artikel.

Weiterlesen