Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1632to1636
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Excel Begriffe übersetzen FR / EN

VBA Excel Begriffe übersetzen FR / EN
17.07.2018 12:02:33
Nik
Hallo liebe Community,
Ich stehe vor folgendem Problem und brauche mal wieder eure Hilfestellung.
Eine Liste mit 1200 Begriffen (manchmal nur ein Wort, aber meistens 2 Wörter) soll aus dem Französischen ins Englische grob Übersetzt werden.
https://www.herber.de/bbs/user/122735.xlsx
In Spalte D stehen die französischen Begriffe und in Spalte E das englische Pendant. Ich benutze dazu Google Translate, weil das in den meisten Fällen ziemlich genau die richtige Übersetzung trifft. Mache das per Copy&Paste, was jedoch enorm viel Zeit in Anspruch nimmt, bzw. sehr mühselig ist.
https://translate.google.de/m/translate?hl=de#fr/en/
Kann ich so eine Abfrage / Übersetzung irgendwie in ein Makro bringen, dass er die Zeilen automatisch abklappert und die Begriffe automatisch übersetzt und in Excel einfügt?
Ich habe schon ein wenig Erfahrung mit VBA sammeln können in den letzten 2 Jahren, aber alles nur "learning by doing". Eventuell gibt es ein Modul, dass durch das man die Begriffe jagen könnte?
Habe schon das WWW nach eine Lösung für dieses Problem durchforstet, bin jedoch leider nicht ansatzweise fündig geworden.
Bin für jede Hilfe oder Hinweis dankbar. :-)
Grüße
Nik

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: GM + BMW
17.07.2018 12:07:30
Fennek
Hallo,
mit einigem Geschick sollte man für ein einzelnes Word eine automatisierte Abfrage programmieren können, für ganze Sätze geht dies wohl nicht.
Früher war dies eine klassische Aufgabe für ein Übersetzungsbüro.
mfg
AW: VBA Excel Begriffe übersetzen FR / EN
17.07.2018 12:29:18
Bernd
Hi,
hilft das:
Sub Uebersetzung_google()
On Error Resume Next
Dim IEApp As Object
Dim IEDocument As Object
Dim strErgebnis As String
Set IEApp = CreateObject("InternetExplorer.Application")
For i = 2 To Sheets(1).UsedRange.Rows.Count
erneut:
IEApp.Visible = False
IEApp.Navigate "http://translate.google.de/?hl=de&tab=wT#fr|en|" & Sheets(1).Cells(i, 1)
Application.StatusBar = "Übersetze-> " & Sheets(1).Cells(i, 1).Value
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Set IEDocument = IEApp.Document
Do: Loop Until IEDocument.ReadyState = "complete"
strErgebnis = IEDocument.getElementById("result_box").innerText
Set IEDocument = Nothing
If strErgebnis = "" Then GoTo erneut
Sheets(1).Cells(i, 2) = strErgebnis
IEApp.Navigate "http://translate.google.de"
strErgebnis = ""
Next
IEApp.Quit
Set IEApp = Nothing
Application.StatusBar = False
MsgBox "Fertig"
End Sub
Hier gefunden:
https://www.herber.de/forum/archiv/1260to1264/1260711_Liste_an_Woertern_mit_Google_Translater_uebersetzen.html
MfG Bernd
Anzeige
AW: VBA Excel Begriffe übersetzen FR / EN
17.07.2018 12:56:29
Nik
Hi Bernd,
You made my day! Das ist der Wahnisnn.. und es funktionert einwandfrei! :-)))))
Danke danke danke!
Gerne und Danke für die Rückmeldung - owT
17.07.2018 12:59:29
Bernd
AW: Gerne und Danke für die Rückmeldung - owT
17.07.2018 13:17:08
Torsten
hab nochmal ne Frage hierzu. Ich hab das gerade mal ausprobiert, angepasst an meine Tabelle.
Der Code startet zwar, aber hoert nicht mehr auf.
Muss IE offen sein vor dem Start?
Oder dauert das wirklich soooo lange?
AW: Gerne und Danke für die Rückmeldung - owT
17.07.2018 13:22:11
Bernd
Hi Nik und/oder Torsten?
Deine Aufgabenstellung war:
Kann ich so eine Abfrage / Übersetzung irgendwie in ein Makro bringen, dass er die Zeilen automatisch abklappert und die Begriffe automatisch übersetzt und in Excel einfügt?
Nun ja, das macht diese Lösung, ob schnell oder langsam ergibt sich vermutlich aus der Vielzahl der Zeilen welche zu Übersetzen sind.
Da ich selbst kein VBA Profi bin, weiß ich auch nicht, ob es noch zu verbessern ist damit es schneller läuft.
Eventuel gibts ja auch andere Lösungen im netz, Googeln hilft, hab ja diesen Ansatz auch bereits nach 5 Minuten gefunden.
MfG Bernd
Anzeige
AW: Gerne und Danke für die Rückmeldung - owT
18.07.2018 06:43:53
Nik
Guten Morgen,
für mich ist das soweit klar und hilft mir ungemein.
Und ja, so lange der IE benötigt um die Übersetzung auszuspucken, so lange dauert es auch bis er zum nächsten Begriff springt. Das hängt u.a. auch an deiner Internetverbindung, etc.
Ist diese Zeile hier -->

Do: Loop Until IEApp.Busy = False
Und das ist m.E. nach auch die schnellste Methode, denn er wartet so lange bis der IE eben nicht mehr beschäftigt ist. Bei alten Windows Version war es ähnlich, sprich dass der Mauszeiger sich in eine Sanduhr verwandelte, solange WIN am arbeiten war. Das ist vom Prinzip vergleichbar.
Der IE muss dazu jedenfalls nicht geöffnet sein. Der läuft im Hintergrund.
Man könnte das ganze eventuell noch beschleunigen, wenn man das Screenupdateing und / oder Kalkulation zu beginn des Makros ausschaltet. Aber Vorsicht: Am Ende des Makros unbedingt wieder einschalten (!).
Der Code zum Ausschalten:
    Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Und zum Einschalten:
    Application.ScreenUpdating = True
Application.Calculation = xlAutomatic

@Torsten
Ich weiss nicht wieviele Wörter bzw Zeilen du durchlaufen lässt. Bei mir braucht er für jeden Begriff so um die 2 - 3 Sekunden maximal. Das summiert sich dann schon bei einigen Begriffen. Aber ob er was macht siehst du ja anhand dessen, dass er immer wieder Übersetzung in deine Zielzelle einträgt.
Was aber auch sein kann ist, dass du ganz viele Zellen mit Leerzeichen in deinem Sheet hast. _ Die rattert er dann auch durch. Da er ja mit dem Code

"For i = 2 To Sheets(1).UsedRange.Rows.Count"
zählt wie viele Zellen benutzt sind. Das gilt auch für Zellen mit einem Leerzeichen, soweit ich weiß.
Hoffe das hilft und ich habe keinen Müll erzählt.
LG, Nik
Anzeige
AW: Gerne und Danke für die Rückmeldung - owT
18.07.2018 07:00:52
Nik
Nochmal eine Frage ...
IEDocument.getElementById("result_box").innerText
Wie kommt er auf die "Result box"? Ist das ein Standart beim IE oder gibt es eine Möglichkeit verschiedene ID´s bzw Bereiche/Elemente von Internet Seiten herauszufinden?
Habe den Quelltext der Google Translate Seite durchsucht, jedoch kenne ich mich nicht genug damit aus, um da wirklich was zu finden, geschweige denn zu verstehen.
LG, Nik

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige