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.
Den VBA-Code, mit dem wir die gewünschten Aufgaben erledigen, fügen wir zunächst in das Klassenmodul ThisDocument des aktuellen Dokuments ein. Hier wollen wir einen Dateiauswahldialog unterbringen, mit dem der Benutzer die Quelldatei für den Ausgangstext selektieren kann.
Diese enthält einfache Absätze mit Texten wie beispielsweise wie in Bild 1. Anschließend soll die Prozedur die Inhalte dieses Dokuments einlesen und in eine neue Tabelle im aktuellen Dokument schreiben – und zwar auf die linke Seite. Eine zweite Prozedur soll alle in der linken Spalte der Tabelle enthaltenen Texte einlesen und mit einem Aufruf der REST-API von DeepL den Text in der gewünschten Sprache ermitteln. Die Übersetzung des aktuellen Absatzes soll dann in die zweite Spalte der Tabelle neben dem Originaltext eingefügt werden.

Bild 1: Beispiel für ein Ausgangsdokument
Hauptprozedur zur Steuerung des Ablaufs
Die Hauptprozedur, die wir einfach aufrufen und welche die übrigen Funktionen und Prozeduren startet, heißt Uebersetzen. Sie ruft als Erstes die Funktion DateiAuswaehlen auf, welche den Dateiauswahldialog öffnet und mit dem der Benutzer die Word-Datei auswählt, aus welcher der zu übersetzende Text eingelesen werden soll (mehr dazu im Anschluss).
Der Pfad zu dieser Datei wird in der Variablen strPfad gespeichert. Die Prozedur Uebersetzen prüft anschließend, ob strPfad nicht die Länge 0 hat, was darauf hindeutet, dass der Benutzer gar keine Datei ausgewählt hat – in diesem Fall wird die Prozedur mit einer Meldung abgebrochen.
Im Else-Teil der Bedingung, die nur angesteuert wird, wenn strPfad nicht leer ist, prüfen wir auch noch, ob strPfad auf eine gültige Datei verweist:
Public Sub Uebersetzen() Dim strPfad As String Dim objTable As Table strPfad = DateiAuswaehlen If Len(strPfad) = 0 Then MsgBox "Keine Datei ausgewählt." Exit Sub Else If Len(Dir(strPfad)) = 0 Then MsgBox "Kein gültiger Dateipfad." Exit Sub End If End If
Ist eine gültige Datei in strPfad angegeben, rufen wir die Funktion TextAusDokumentInTabelle auf und übergeben dieser den Pfad zum Dokument mit dem zu übersetzenden Text. Diese Funktion soll die Tabelle erstellen und mit den Absätzen aus dem Word-Dokument mit dem Originaltext füllen und einen Verweis auf diese Tabelle als Parameter zurückgeben:
Set objTable = TextAusDokumentInTabelle(strPfad)
Ist objTable danach nicht leer, rufen wir schließlich noch die Prozedur UebersetzungDurchfuehren auf und übergeben dieser den Verweis auf die Tabelle, in deren linker Spalte bereits die zu übersetzenden Texte warten:
If Not objTable Is Nothing Then UebersetzungDurchfuehren objTable End If End Sub
Auswahl der Datei mit dem OriginaltextNachdem 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.
Den VBA-Code, mit dem wir die gewünschten Aufgaben erledigen, fügen wir zunächst in das Klassenmodul ThisDocument des aktuellen Dokuments ein. Hier wollen wir einen Dateiauswahldialog unterbringen, mit dem der Benutzer die Quelldatei für den Ausgangstext selektieren kann.
Diese enthält einfache Absätze mit Texten wie beispielsweise wie in Bild 1. Anschließend soll die Prozedur die Inhalte dieses Dokuments einlesen und in eine neue Tabelle im aktuellen Dokument schreiben – und zwar auf die linke Seite. Eine zweite Prozedur soll alle in der linken Spalte der Tabelle enthaltenen Texte einlesen und mit einem Aufruf der REST-API von DeepL den Text in der gewünschten Sprache ermitteln. Die Übersetzung des aktuellen Absatzes soll dann in die zweite Spalte der Tabelle neben dem Originaltext eingefügt werden.

Bild 1: Beispiel für ein Ausgangsdokument
Hauptprozedur zur Steuerung des Ablaufs
Die Hauptprozedur, die wir einfach aufrufen und welche die übrigen Funktionen und Prozeduren startet, heißt Uebersetzen. Sie ruft als Erstes die Funktion DateiAuswaehlen auf, welche den Dateiauswahldialog öffnet und mit dem der Benutzer die Word-Datei auswählt, aus welcher der zu übersetzende Text eingelesen werden soll (mehr dazu im Anschluss).
Der Pfad zu dieser Datei wird in der Variablen strPfad gespeichert. Die Prozedur Uebersetzen prüft anschließend, ob strPfad nicht die Länge 0 hat, was darauf hindeutet, dass der Benutzer gar keine Datei ausgewählt hat – in diesem Fall wird die Prozedur mit einer Meldung abgebrochen.
Im Else-Teil der Bedingung, die nur angesteuert wird, wenn strPfad nicht leer ist, prüfen wir auch noch, ob strPfad auf eine gültige Datei verweist:
Public Sub Uebersetzen()
Dim strPfad As String
Dim objTable As Table
strPfad = DateiAuswaehlen
If Len(strPfad) = 0 Then
MsgBox "Keine Datei ausgewählt."
Exit Sub
Else
If Len(Dir(strPfad)) = 0 Then
MsgBox "Kein gültiger Dateipfad."
Exit Sub
End If
End If
Ist eine gültige Datei in strPfad angegeben, rufen wir die Funktion TextAusDokumentInTabelle auf und übergeben dieser den Pfad zum Dokument mit dem zu übersetzenden Text. Diese Funktion soll die Tabelle erstellen und mit den Absätzen aus dem Word-Dokument mit dem Originaltext füllen und einen Verweis auf diese Tabelle als Parameter zurückgeben:
Set objTable = TextAusDokumentInTabelle(strPfad)
Ist objTable danach nicht leer, rufen wir schließlich noch die Prozedur UebersetzungDurchfuehren auf und übergeben dieser den Verweis auf die Tabelle, in deren linker Spalte bereits die zu übersetzenden Texte warten:
If Not objTable Is Nothing Then
UebersetzungDurchfuehren objTable
End If
End Sub
Auswahl der Datei mit dem Originaltext
Access, SQL und Cloud Automation
Unser exklusives Angebot für Dich!
VB-Entwickler
12,50 €
im Monat*
(Gilt für den Abschluss eines Jahres-Abonnements.)
Hier geht’s weiter →
Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle
Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko:
Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Kostenlos & unverbindlichOder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
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.
Den VBA-Code, mit dem wir die gewünschten Aufgaben erledigen, fügen wir zunächst in das Klassenmodul ThisDocument des aktuellen Dokuments ein. Hier wollen wir einen Dateiauswahldialog unterbringen, mit dem der Benutzer die Quelldatei für den Ausgangstext selektieren kann.
Diese enthält einfache Absätze mit Texten wie beispielsweise wie in Bild 1. Anschließend soll die Prozedur die Inhalte dieses Dokuments einlesen und in eine neue Tabelle im aktuellen Dokument schreiben – und zwar auf die linke Seite. Eine zweite Prozedur soll alle in der linken Spalte der Tabelle enthaltenen Texte einlesen und mit einem Aufruf der REST-API von DeepL den Text in der gewünschten Sprache ermitteln. Die Übersetzung des aktuellen Absatzes soll dann in die zweite Spalte der Tabelle neben dem Originaltext eingefügt werden.

Bild 1: Beispiel für ein Ausgangsdokument
Hauptprozedur zur Steuerung des Ablaufs
Die Hauptprozedur, die wir einfach aufrufen und welche die übrigen Funktionen und Prozeduren startet, heißt Uebersetzen. Sie ruft als Erstes die Funktion DateiAuswaehlen auf, welche den Dateiauswahldialog öffnet und mit dem der Benutzer die Word-Datei auswählt, aus welcher der zu übersetzende Text eingelesen werden soll (mehr dazu im Anschluss).
Der Pfad zu dieser Datei wird in der Variablen strPfad gespeichert. Die Prozedur Uebersetzen prüft anschließend, ob strPfad nicht die Länge 0 hat, was darauf hindeutet, dass der Benutzer gar keine Datei ausgewählt hat – in diesem Fall wird die Prozedur mit einer Meldung abgebrochen.
Im Else-Teil der Bedingung, die nur angesteuert wird, wenn strPfad nicht leer ist, prüfen wir auch noch, ob strPfad auf eine gültige Datei verweist:
Public Sub Uebersetzen() Dim strPfad As String Dim objTable As Table strPfad = DateiAuswaehlen If Len(strPfad) = 0 Then MsgBox "Keine Datei ausgewählt." Exit Sub Else If Len(Dir(strPfad)) = 0 Then MsgBox "Kein gültiger Dateipfad." Exit Sub End If End If
Ist eine gültige Datei in strPfad angegeben, rufen wir die Funktion TextAusDokumentInTabelle auf und übergeben dieser den Pfad zum Dokument mit dem zu übersetzenden Text. Diese Funktion soll die Tabelle erstellen und mit den Absätzen aus dem Word-Dokument mit dem Originaltext füllen und einen Verweis auf diese Tabelle als Parameter zurückgeben:
Set objTable = TextAusDokumentInTabelle(strPfad)
Ist objTable danach nicht leer, rufen wir schließlich noch die Prozedur UebersetzungDurchfuehren auf und übergeben dieser den Verweis auf die Tabelle, in deren linker Spalte bereits die zu übersetzenden Texte warten:
If Not objTable Is Nothing Then UebersetzungDurchfuehren objTable End If End Sub
Auswahl der Datei mit dem Originaltext
Unser exklusives Angebot für Dich!
(Gilt für den Abschluss eines Jahres-Abonnements.)
Hier geht’s weiter →Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →