Ist die 32- oder 64-Bit-Version von Office installiert?

Diese Frage, ob Office in der 32-Bit- oder in der 64-Bit-Version vorliegt, ist für viele Aufgaben interessant. Seit Access 2019 wird Office standardmäßig in der 64-Bit-Version installiert. Es gibt jedoch auch immer alternativ die 32-Bit-Version. Vor Access 2019 war die 32-Bit-Installation Standard. Wozu aber benötigen wir diese Information überhaupt? Wenn wir das VBA-Projekt einer Access-, Excel-, Word- oder PowerPoint-Datei programmieren oder das Outlook-Objektmodell und dabei weder ActiveX-Steuerelemente noch Integrationen wie COM-DLLs oder COM-Add-Ins oder API-Funktionen nutzen, spielt es keine Rolle, ob wir mit 32-Bit- oder 64-Bit-Office arbeiten. Sobald jedoch eines der genannten Elemente auftaucht, müssen wir genau prüfen, ob dieses unter beiden Versionen arbeitet. Wir schauen uns kurz an, wo besonderes Augenmerk gefragt ist und wie wir es dem Benutzer mitteilen können, wenn seine Office-Version und unsere Erweiterungen nicht kompatibel sind.

Weiterlesen

Dateien mit VBA-Bordmitteln verwalten

Die Verwaltung von Dateien per Code ist öfter gefragt, als man denkt. Damit lassen sich Verzeichnisse erstellen, auslesen und entfernen, Dateien erstellen, löschen und bearbeiten und vieles mehr. Leider sind die Bordmitteln von VBA hier teilweise ein wenig sperrig. Allerdings sind sie für einfache Aufgaben durchaus ausreichend und erfordern nicht den Einsatz einer zusätzlichen Bibliothek wie der Scripting Runtime, wie es beispielsweise beim FileSystemObject der Fall ist. Also schauen wir uns in diesem Artikel einmal die Elemente von VBA an, mit denen wir auf die Elemente des Dateisystems zugreifen können und zeigen, was sich damit alles anstellen lässt. Schließlich schauen wir aber auch noch kritisch auf mögliche Nachteile.

Weiterlesen

To Do mit VBA und Power Automate steuern

In einem weiteren Artikel namens “To Do-Aufgabe mit Power Automate und VBA anlegen” (www.vbentwickler.de/431) haben wir die Grundlagen zur Steuerung von Microsoft To Do mit VBA über Power Automate beschrieben und einen ersten Anwendungsfall vorgestellt – das Anlegen einer Aufgabe für eine vorgegebene Liste. In diesem Artikel haben wir die wichtigsten Vorbereitungen getroffen, nämlich das Anlegen eines Power Automate Kontos und das Freigeben des Zugriffs auf das To Do-Konto, dessen Listen und Aufgaben wir verwalten wollen. Dabei schauen wir uns in diesem Artikel an, wie wir die Aufrufe noch genauer gestalten können, um beispielsweise die Liste einzustellen, der wir eine neue Aufgabe hinzufügen. Außerdem schauen wir uns an, wie wir Aufgaben auslesen, bearbeiten oder löschen können und wie wir Listen auslesen, anlegen, bearbeiten oder löschen können. Es gibt viel zu tun!

Weiterlesen

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: 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

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

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