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

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: Menüs erstellen

Während man sich beim Programmieren von Office-Anwendungen wie Word, Excel, Outlook oder Access mit XML-Definitionen für das Ribbon beschäftigen muss, kann man unter twinBASIC zumindest für die Fenstermenüs auf eine einfache und praktische Benutzeroberfläche zurückgreifen. Okay, für Kontextmenüs ist dann doch wieder VB-Code gefragt, aber das ist auch in den meisten Office-Anwendungen noch die gängige Vorgehensweise (nicht in Outlook, dort sind die Kontextmenüs bereits in die Ribbondefinition integriert). In diesem Artikel schauen wir uns erst einmal die Möglichkeiten an, twinBASIC-Anwendungen über die Benutzeroberfläche mit Menüs auszustatten und ihre Eigenschaften per Code anzupassen.

Weiterlesen

Ribbons in Office-Dokumenten

Word, Excel und PowerPoint sind die Office-Anwendungen, mit denen Du Dokumente anzeigen und bearbeiten, aber auch automatisieren kannst. Wenn Du beispielsweise einer Excel-Arbeitsmappe eigene, per VBA programmierte Funktionen hinzufügen möchtest, musst Du diese irgendwie aufrufen. Eine Schaltfläche in einem Excel-Arbeitsblatt ist eine Möglichkeit. Die Alternative ist, einen entsprechenden Befehl im Ribbon zu platzieren. Wie das gelingt, zeige ich im vorliegenden Artikel. Dabei erfährst Du auch einige Dinge rund um die Office Open XML-Formate und wie die Daten in diesen Dokumenten gespeichert sind – darunter auch die Definitionen von Ribbons und die darin anzuzeigenden Icons.

Weiterlesen

twinBASIC: Visual Basic für die Zukunft

twinBASIC ist eine moderne Version des klassischen Visual Basic, die auf 100% Kompatibilität zu bestehenden Visual Basic 6-Projekten ausgelegt sein soll. Es ist ein Projekt des englischen Programmierers Wayne Phillips, der bereits im Access-Umfeld mit spektakulären Lösungen auf sich aufmerksam gemacht hat. twinBASIC scheint jedoch sein Meisterwerk zu werden. Es kommt mit einer eigenen Entwicklungsumgebung, die sich nicht vor anderen modernen IDEs verstecken muss. In diesem Artikel schauen wir uns an, wie Du die twinBASIC-Entwicklungsumgebung installierst und die ersten Projekte damit erstellst. In weiteren Artikeln werfen wir einen Blick auf die verschiedenen Projekttypen und wie Du Lösungen damit erstellen kannst.

Weiterlesen

Outlook: Codebeispiele ausprobieren

In diesem Magazin stellen wir immer wieder Beispiele zur Programmierung von Outlook per VBA vor. Während wir solchen Beispielcode bei den anderen Anwendungen wie Word, Excel oder PowerPoint oder auch unter Access in entsprechenden Beispieldokumenten unterbringen können, müssen wir die Outlook-Beispiele in das VBA-Projekt von Outlook einfügen, um diese auszuprobieren. Wie das gelingt, zeigt der vorliegende Artikel.

Weiterlesen

Ribbon-Signaturen für VBA, VB6 und twinBASIC

Wer Anwendungen programmiert, die das Ribbon anpassen, möchte die benutzerdefinierten Ribbon-Steuerelemente auch mit entsprechenden Callback-Prozeduren ausstatten. Dieser Artikel liefert eine Zusammenfassung der Ribbon-Signaturen für die Callback-Funktionen unter VBA und Visual Basic 6 beziehungsweise twinBASIC. Die VBA-Signaturen nutzen wir, wenn wir Ribbon-Erweiterungen direkt zu den mit den Office-Anwendungen erstellten Ribbonanpassungen hinzufügen wollen. Erstellen wir hingegen COM-Add-Ins mit VB6 oder twinBASIC, nutzen wir die alternativen Signaturen.

Weiterlesen

Einfache ASP.NET Core-Anwendungen erstellen

ASP.NET-Webanwendungen gibt es schon, seit Microsoft .NET vorgestellt hat. Mit .NET Core und Bootstrap wird dies noch interessanter, vor allem für die Programmierung moderner Webanwendungen mit Responsive Webdesign – also mit einem Design, das auf die Gegebenheiten des jeweiligen Endgerätes reagiert und die Darstellung darauf optimiert. Dies wird möglich mit dem neuen ASP.NET Core und der Bootstrap-Bibliothek. Dieser Artikel zeigt, wie Sie eine einfache Anwendung auf Basis von ASP.NET Core mit Bootstrap erstellen.

Weiterlesen

m:n-Beziehung mit Listenfeld

Wir haben in der Beispieldatenbank Bestellverwaltung bereits eine m:n-Beziehung über ein Fenster realisiert, das an eine Tabelle gebunden ist und ein DataGrid enthält, das die verknüpfte Elemente anzeigt. Dabei handelt es sich um die Abbildung von Bestellungen, Bestelldetails und Produkte, wo zusätzlich zur Verknüpfung noch weitere Daten wie der Einzelpreis für die Bestellposition gespeichert werden. Im vorliegenden Artikel werden wir uns ansehen, wie wir eine m:n-Beziehung ohne weitere Daten in der Verknüpfungstabelle verwalten können. Dazu wollen wir Kunden über eine Verknüpfungstabelle einer Tabelle mit Versendungen etwa zu Werbe- oder Informationszwecken verknüpfen.

Weiterlesen