Visual Basic Entwickler 01/2023

Übersetzen mit Word und DeepL

Nachdem wir schon gezeigt haben, wie Du Texte in einer Excel-Tabelle übersetzen kannst, schauen wir uns nun an, wir die die DeepL-Techniken für die Gegenüberstellung der englischen und der deutschen Version eines Textes nutzen können. Dazu wollen wir bei einem Text beginnen, der sich in einem Word-Dokument befindet und diesen in ein neues Dokument übertragen, wo wir die einzelnen Absätze des Textes in jeweils eine Zelle in der linken Spalte einer Word-Tabelle einfügen. Nachdem wir den Text so auf die Zellen einer Tabelle aufgeteilt haben, wollen wir in der rechten Spalte per Aufruf der DeepL-REST-API die Übersetzung in der gewünschten Sprache unterbringen. Das Ergebnis: Die Übersetzung eines Textes, wobei jeweils ein Absatz in der einen Sprache dem gleichen Absatz in der anderen Sprache gegenübergestellt wird.

Zum Artikel …

COM-Add-In zum Übersetzen von Word-Dokumenten

Das Internet bietet für beinahe jeden Zweck einen Service. Auch für das Übersetzen von Texten. Ein Anbieter heißt DeepL. Er bietet nicht nur eine Benutzeroberfläche, in die man Texte eingeben kann, die direkt übersetzt werden, sondern auch noch eine API. Dieser können wir programmgesteuert Texte übergeben und die Übersetzung entgegennehmen. Das ist sehr praktisch für diejenigen Bereiche der Programmierung, wo man Texte in einer anderen oder in mehreren Sprachen braucht. In diesem Artikel wollen wir uns jedoch ansehen, wie wir aus den Techniken, die wir in weiteren Artikeln vorgestellt haben, ein COM-Add-In bauen, das sich nahtlos in die Word-Benutzeroberfläche eingliedert und auf Knopfdruck komplette Dokumente oder auch nur markierte Bereiche in die gewünschte Sprache übersetzt.

Zum Artikel …

Word mit VBA programmieren

Genau wie in Outlook oder Excel gibt es auch in Word ausreichende Möglichkeiten, um sich wiederholende Vorgänge zu automatisieren oder zu vereinfachen. Dazu benötigen wir die Programmiersprache VBA und das Objektmodell zur Programmierung von Word und den darin angezeigten Dokumenten. Im vorliegenden Beitrag schauen wir uns zunächst einmal an, wie wir von außen, also beispielsweise von einer anderen Anwendung aus, eine Word-Instanz initialisieren und diese nutzen können. Bei den weiteren Beispielen starten wir jedoch direkt vom VBA-Projekt des aktuell geöffneten Word-Dokuments aus.

Zum Artikel …

VBA-Ereignisse in Word programmieren

Microsoft Word bietet für das Application- und für das Document-Objekt einige sehr interessante Ereignisse an. Diese können wir implementieren und damit auf verschiedene Benutzeraktionen wie das Öffnen, Speichern oder Schließen eines Dokuments oder auch auf andere Aktionen zu reagieren. In diesem Artikel stellen wir die Ereignisse vor und zeigen, wie Du diese implementieren und mit eigenem Code füllen kannst. Damit lernst Du, wie Du auf das Öffnen, Schließen oder Anlegen von Dokumenten reagieren kannst oder wie sich Ereignisse programmieren lassen, die beim Drucken oder Speichern ausgelöst werden. Auch Aktionen wie ein Doppelklick oder ein Rechtsklick auf die Inhalte des Word-Dokuments lassen sich damit steuern. Wie das gelingt, zeigen wir in diesem Artikel.

Zum Artikel …

Word: Lesen und Schreiben von Absätzen per VBA

Nachdem wir in zwei weiteren Artikeln beschrieben haben, wir man auf Word-Dokumente zugreift und die Ereignisse von Word und den angezeigten Dokumenten nutzt, gehen wir nun einen Schritt weiter: Wir schauen uns an, wie wir die Inhalte von Word-Dokumenten lesen und schreiben können. Das ist nicht ganz trivial, denn natürlich enthält ein Word-Dokument nicht einfach nur Text, den wir in eine Variable übertragen und weiterverarbeiten können. Stattdessen gibt es eine Unterteilung in Absätze, Bereiche, Tabellen und viele weitere Elemente. Der Fokus dieses Artikels liegt daher auf der Untersuchung dieser Elemente und wie wir diese am besten per VBA programmieren können.

Zum Artikel …

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.

Zum Artikel …

Word: Tabellen mit VBA programmieren

Tabellen sind ein wichtiges Element zur Strukturierung in Dokumenten – so auch in Microsoft Word. Tabellen fügt man dabei normalerweise über die Benutzeroberfläche ein und füllt diese manuell mit den gewünschten Daten. Manchmal jedoch sollen Dokumente und damit auch Tabellen automatisiert erstellt werden – beispielsweise, wenn man Daten aus Anwendungen wie Access oder Excel in einem Word-Dokument weiterverarbeiten möchte. Damit lassen sich beispielsweise gut die Rechnungspositionen in einer Rechnung oder auch Katalogdaten abbilden. In einer Lösung in einem weiteren Artikel nutzen wir eine Tabelle, um die einzelnen Absätze verschiedener Übersetzungen eines Textes anzuzeigen. Im vorliegenden Artikel zeigen wir, wie wir einem Word-Dokument eine Tabelle hinzufügen und diese mit den gewünschten Zeilen und Spalten versehen können – und welche Techniken noch sinnvoll sein können, wenn Du Tabellen programmierst.

Zum Artikel …