Ereignisse aus VB.NET-COM-DLLs implementieren

Viele Szenarien, in denen man eine COM-DLL benötigt, kann man mit einer VB6-COM-DLL auf Basis von twinBASIC abbilden. Manchmal möchte man aber auf Funktionen zugreifen, die einfacher mit einem VB.NET-Projekt zu erledigen sind. In diesem Artikel schauen wir uns nicht nur an, wie wir einen COM-DLL mit VB.NET erstellen, sondern legen den Fokus auf das Bereitstellen von Ereignissen und wie wir diese in dem VBA-Projekt, welches die COM-DLL nutzt, implementieren können.

Weiterlesen

ADODB: Datenzugriff mit der Command-Klasse

In einem anderen Artikel namens “ADODB: SQL-Befehle schnell ausführen mit Execute” (www.vbentwickler.de/447) haben wir bereits gezeigt, wie wir unter ADO mit der Execute-Methode der Connection-Klasse schnell SQL-Anweisungen zum Manipulieren von Daten ausführen oder Daten abrufen und mit einem Recordset durchlaufen können. Allerdings gibt es gerade für den Austausch von Daten mit dem SQL Server noch einige weitere Möglichkeiten. Dazu benötigen wir allerdings die Command-Klasse. Sie bietet primär auch eine Execute-Methode, mit der wir die gleichen Dinge erledigen können wir mit der gleichnamigen Methode der Connection-Klasse. Sie bietet allerdings viele weitere Optionen, mit denen wir zum Beispiel Parameter an eine gespeicherte Prozedur übergeben können. Was wir mit der Command-Klasse alles erledigen können, liest Du in diesem Artikel.

Weiterlesen

Microsoft 365- E-Mails per Access-Formular senden

Im Artikel “Microsoft 365 E-Mails mit Make per Klasse senden” (www.vbentwickler.de/465) und den dort referenzierten Artikeln haben wir am Beispiel von Microsoft 365 und Make.com gezeigt, wie wir per VBA E-Mails versenden können. Dazu haben wir eine Klasse programmiert, mit der wir leicht die notwendigen Daten für die E-Mail übergeben können. Im vorliegenden Artikel stellen wir nun ein Formular vor, mit dem wir leicht die Daten für eine solche E-Mail eingeben und diese schließlich absenden können. Die dazu eingegebenen Daten speichern wir in entsprechenden Tabellen, sodass wir diese später einsehen können.

Weiterlesen

Backstage-Bereich per COM-Add-In anpassen

Wenn man eine der Office-Anwendungen um ein selbst programmiertes COM-Add-In erweitern möchte, kann man den Backstage-Bereich nutzen, um eventuell notwendige Optionen für dieses COM-Add-In dort abzubilden. Wir würden dann einen eigenen Reiter auf der linken Seite des Backstage-Bereichs platzieren, über den wir einen eigenen Bereich anzeigen können. Diesem wiederum können wir verschiedene Steuerelemente für die Anzeige und Eingabe von Optionen hinzufügen. Dieser Artikel zeigt, wie wir ein einfaches COM-Add-In mit twinBASIC erstellen und dieses mit der Definition einer Backstage-Erweiterung ausstatten und wie diese Erweiterung beim Starten der Anwendung angezeigt wird.

Weiterlesen

Automation mit VBA und Make

In vorherigen Artikeln haben wir bereits am Beispiel von Zapier gezeigt, wie wir Workflow Automation Tools nutzen können, um von VBA aus Automationen anstoßen können. Diese Automationen zielen auf Apps ab, die wir sonst über den Webbrowser steuern – GMail, CRMs, Zahlungsplattformen, Buchhaltungssoftware und viele mehr. Im vorliegenden Artikel nehmen wir einen weiteren Anbieter unter die Lupe, nämlich Make.com. Make ist grundsätzlich ähnlich zu nutzen wir Zapier, aber es bietet einen wichtigen Vorteil: Wir können damit nämlich Ergebnisse der Aufrufe der jeweiligen Anwendung sogar abfragen und diese auf unserem Client weiterverarbeiten. Wenn wir beispielsweise eine Mail über Google Mail versenden, können wir uns einen Link zu der gesendeten E-Mail zurückliefern lassen, um diese später per Mausklick im Browser zu öffnen. Oder wenn wir einen Datensatz anlegen, beispielsweise für einen neuen Kunden im CRM-Systen, können wir uns die ID des neuen Kunden zurückgeben lassen, um diesen als Referenz in der Datenbank zu speichern. In diesem Artikel zeigen wir zunächst, wie wir eine einfache Automation in Make.com anlegen und diese per VBA aufrufen und uns das Ergebnis zurückgeben lassen.

Weiterlesen

Microsoft 365-Mail mit Make und VBA ohne Outlook

Am liebsten wäre den meisten Microsoft-Anwendern vermutlich, wenn sie einfach ihre vorhandenen VBA-Automationen auf Basis von Microsoft Outlook verwenden könnten. Allerdings zeigt Microsoft aktuell kein Zeichen, dass das klassische Outlook für Desktop mit seiner VBA-Programmierbarkeit über das Jahr 2029 hinaus unterstützt werden wird. Die neue Outlook-Version ist allerdings noch nicht so weit, dass wir damit so arbeiten können, wie es mit der klassischen Version möglich ist. Genau genommen wird das, wenn man sich die Pläne von Microsoft ansieht, auch zumindest per VBA nicht mehr möglich sein. Um zumindest das Versenden von E-Mails von VBA aus zu realisieren, benötigen wir also eine Alternative. In diesem Artikel schauen wir uns an, wie wir Outlook.com über den Automatisierungdienst Make dazu bringen, E-Mails zu versenden – mit allen Funktionen, die wir von Outlook gewohnt sind.

Weiterlesen

Microsoft 365 E-Mails mit Make per Klasse senden

In unserem Artikel Google Mail mit Make.com und VBA statt Outlook (www.vbentwickler.de/464) haben wir detailliert gezeigt, wie man per VBA die Informationen zum Versenden einer E-Mail zusammenstellt und diese dann über den Automatisierungsdienst Make.com an Microsoft 365 E-Mail sendet. Hier sind wir allerdings nur so weit gekommen, dass wir die notwendige JSON-Datei mit den eigentlichen Daten der E-Mail Zeile für Zeile zusammengestellt und mit den nötigen Daten gefüllt haben. Für einen ersten Schritt nicht schlecht, aber wenn man diesen Weg professionell nutzen möchte, sollte man sich dazu eine ordentliche Klasse bauen. Eine, die man schnell initialisieren und mit den Daten wie Empfänger, Betreff, Inhalt, CC/BCC-Empfängern und Anlagen füllen kann und die eine einfache Send-Methode enthält. Ganz genau so, wie es auch mit VBA und Outlook geht – mit dem Unterschied, dass die hier vorgestellte Methode vermutlich wesentlich bessere Chancen hat, die nächsten fünf Jahre zu überleben.

Weiterlesen

Office: Eingebaute Kontextmenübefehle recyclen

Wir haben bereits in einigen weiteren Artikel beschrieben, wie wir unseren Anwendungen in Word, Excel oder Access benutzerdefinierte Kontextmenü-Einträge oder sogar vollständige Kontextmenüs hinzufügen können. Was wird dort noch nicht berücksichtigt haben: Manchmal möchte man vielleicht ein eingebautes Element in einem benutzerdefinierten Kontextmenü oder gar ein vollständiges Menü nachbauen, um dann selbst genauer zu steuern, wann dieses angezeigt werden soll. Ein gutes Beispiel sind die Befehle für die Verwendung der Zwischenablage, also Ausschneiden, Kopieren und Einfügen. Es kann sinnvoll sein, diese einem benutzerdefinierten Kontextmenü hinzuzufügen. In diesem Artikel beschreiben wir, wie Du herausfindest, welche Informationen über das eingebaute Kontextmenü-Element benötigst und wie Du dieses in einem benutzerdefinierten Kontextmenü abbildest.

Weiterlesen

Automation mit Zapier in der Praxis

Zapier ist neben Make.com oder Microsoft Power Automate ein weit verbreitetes Tool, mit dem wir Automationen definieren können. Mit diesen können wir sowohl verschiedenen SaaS-Produkte untereinander so verbinden, dass diese Daten austauschen und automatische Prozesse angestoßen werden. Wir können uns aber auch von unserer Anwendung aus in diese Prozesse einklicken, indem wir diese per VBA anstoßen. In diesem Artikel schauen wir uns jedoch erst einmal an, was Zapier ist, wie wir ein Konto bei Zapier anlegen und wir erste, einfache Automationen einrichten.

Weiterlesen