OpenAI mit VBA

Schlagwörter wir OpenAI oder ChatGPT beherrschen die Schlagzeilen der Welt. Wir wollen nicht entscheiden, ob es gut oder schlecht ist. ob es Dir den Job wegnimmt oder eine super Unterstützung ist, sondern zeigen in diesem Artikel einfach, wie Du es per VBA steuern und in eigenen Anwendungen nutzen kannst. Dabei greifen wir auf die Rest API von OpenAI zu und ermöglich, dass Du die Antworten auf die mit der Anwendung eingegebene Frage nutzen kannst.

Weiterlesen

Standalone-Apps mit .NET programmieren

Nicht immer möchte man Erweiterungen gezielt für eine Office-Anwendung programmieren. Gelegentlich fallen Aufgaben an, die man zwar mit einer der Office-Anwendungen erledigen könnte, aber dazu benötigt man auch immer die jeweilige Office-Anwendung und eine passendes Dokument wie ein Excel-Workbook oder eine Access-Datenbank. Und gerade bei Access ist eine der meist gestellten Fragen: Wie kann ich die Datenbank in eine .exe-Datei umwandeln? Die Antwort lautet: Gar nicht. Wenn es aber allein darum geht, Aufgaben zu erledigen, die nicht unbedingt mit Office zusammenhängen, dann könnte man auch schnell eine .NET-App programmieren. Die hat den Vorteil, dass man erstens viel mehr Steuerelemente nutzen kann, zweitens viel mehr Bibliotheken zur Verfügung hat und drittens eine .exe erstellen kann, die man sogar noch weitergeben kann. In diesem Artikel schauen wir uns die Grundlagen für die Erstellung einer einfachen .exe-Datei mit .NET an.

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

Dateien und Ordner auswählen per FileDialog

Wenn Du mit VBA programmierst, wirst Du immer wieder mit Dateien arbeiten. Eine der Hauptaufgaben dabei ist, zu öffnende Dateien auszuwählen, Verzeichnisse zu selektieren oder einen Namen für eine zu speichernde Datei festzulegen. Alles drei lässt sich mit verschiedenen Methoden erledigen, aber es gibt eine Klasse, die alles gleichzeitig anbietet – und zwar die FileDialog-Klasse der Office-Bibliothek. In diesem Artikel schauen wir uns an, wie Du Dateidialoge für die verschiedenen Anwendungszwecke öffnen und auswerten kannst.

Weiterlesen

VBA Basics: Schleifen

Wenn wir in VBA einen Vorgang mehr als einmal durchführen wollen, verwenden Sie dazu eine sogenannte Schleife. Davon gibt es verschiedene Arten: Einige, wie die For…Next-Schleife und die For Each-Schleife, werden entsprechend einer vorgegebenen Anzahl durchlaufen, andere solange, wie eine bestimmte Bedingung erfüllt ist – so zum Beispiel die Do While-Schleife. Dieser Artikel stellt die verschiedenen Schleifenarten vor und zeigt, welche sich für welchen Einsatzzweck eignet.

Weiterlesen

Excel: Mit markierten Arbeitsblättern arbeiten

Unter Excel zeigt man in der Regel nur ein einziges Arbeitsblatt an. Allerdings lassen sich, und das wissen nur wenige Benutzer, auch mehrere Arbeitsblätter gleichzeitig markieren. Der Clou: Aktionen, die dann im aktuell angezeigten Arbeitsblatt durchgeführt werden, wirken sich auch auf alle anderen markierten Arbeitsblätter aus. Dies ist Grund genug, dass wir uns ansehen, wie wir die aktuell markierten Arbeitsblätter auslesen können oder wie wir sogar per VBA einige oder alle Arbeitsblätter markieren können.

Weiterlesen

Excel: Sheet-Navigation per Button

Wenn man ein Excel-Workbook mit vielen verschiedenen Worksheets verwendet, möchte man beim Öffnen des Workbooks vielleicht eine Übersichtsseite präsentiert bekommen, von der aus man per Mausklick auf entsprechende Schaltflächen zu den übrigen Worksheets gelangt – und am besten von dort aus mit einer weiteren Schaltfläche wieder zurück zur Übersicht. In diesem Artikel zeigen wir, wie das gelingt, und warum wir noch nicht mal eine einzige Zeile VBA-Code für dieses Vorhaben benötigen.

Weiterlesen

VBA-Basics: MsgBox- und InputBox-Funktion

Die beiden Funktionen MsgBox und InputBox ermöglichen die schnelle Abfrage von Benutzerfeedback. Soll eine Datei überschrieben werden? Wie soll die neue Kategorie heißen? Das sind nur zwei von vielen Beispielen für den Einsatz dieser beiden Funktionen. Dieser Artikel beschreibt die beiden so kompakt wie möglich, damit Du sie schnell in Deine eigenen Anwendungen integrieren kannst.

Weiterlesen

VBA-Basics: Makros aufzeichnen

Das Programmieren von Office-Automatisierungen beispielsweise in der Sprache VBA kann für Einsteiger herausfordernd sein. Allerdings gibt es Möglichkeiten, sich hier und da zu behelfen: Die Anwendungen Excel, Word und PowerPoint bieten nämlich einen sogenannten Makro-Rekorder, mit dem man einfache Abläufe innerhalb der Anwendung aufzeichnen kann. Das Ergebnis ist eine VBA-Prozedur, die Du anschließend erneut aufrufen kannst. In vielen Fällen reicht dies bereits aus, um die gewünschten Schritte zu automatisieren, in anderen Fällen möchtest Du das Ergebnis des Makro-Recordsets vielleicht noch anpassen. Wie Du diesen Makro-Rekorder einsetzt und wie Du die Ergebnisse anpassen kannst, zeigt der vorliegende Artikel.

Weiterlesen

Umfangreiche Texte in Code integrieren

Es gibt Aufgaben, um die schlägt man sich nicht. Eine davon ist es, größere Texte hart im VBA-Code zu verdrahten, sodass diese später weiterverarbeitet werden kann. Ein Beispiel ist das Zusammenstellen eines XML-Dokuments, von dem man eine Vorlage hat, und das man mit eigenen Werten füllen möchte, um es dann beispielsweise als Anfrage an einen Webservice zu schicken. Oder man möchte den Inhalt einer Mail per VBA an Outlook schicken und versenden, nachdem man den Mailtext noch um individuelle Inhalte wie Anrede oder Name des Empfängers ergänzt hat. Sprich: Uns liegt ein mehrzeiliger Text vor, den wir irgendwie in eine Variable packen wollen – und zwar ausschließlich per VBA-Code. Wie das gelingt, zeigt der vorliegende Artikel.

Weiterlesen