Warum KI-Übersetzung aus Access?
Weil Du Texte hast – Produktbeschreibungen, E-Mails, Memos.
Und weil Copy-Paste nach DeepL nicht skaliert.
Mit ein paar Zeilen VBA holst Du Dir die KI-Übersetzung direkt ins Formular.
Ich zeig Dir beide Varianten:
DeepL (besser) und Google Translate (kostenloser Einstieg).
Was Du brauchst
Anbieter | URL | Authentifizierung |
---|---|---|
DeepL API | https://api.deepl.com/v2/translate | API-Key im Header |
Google Translate | https://translation.googleapis.com/language/translate/v2 | API-Key in URL |
Tabellenstruktur (Beispiel)
Tabelle | Zweck |
---|---|
tblTexte | Quelltexte |
tblUebersetzungen | Ergebnisse + Sprache |
DeepL per VBA aufrufen
Schritt 1: Text übersetzen
Function UebersetzeMitDeepL(text As String, zielSprache As String) As String
Dim http As Object
Dim apiKey As String
Dim body As String
Dim result As String
apiKey = "DEIN_API_KEY"
body = "auth_key=" & apiKey & _
"&text=" & URLEncode(text) & _
"&target_lang=" & zielSprache
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "POST", "https://api.deepl.com/v2/translate", False
http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
http.Send body
result = http.responseText
UebersetzeMitDeepL = ExtrahiereDeepLText(result)
End Function
Ergebnis extrahieren (DeepL)
Function ExtrahiereDeepLText(json As String) As String
Dim sc As Object
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
sc.AddCode "function parse(j){return JSON.parse(j).translations[0].text;}"
ExtrahiereDeepLText = sc.Run("parse", json)
End Function
Google Translate per VBA
Schritt 1: Aufruf vorbereiten
Function UebersetzeMitGoogle(text As String, zielSprache As String) As String
Dim http As Object
Dim apiKey As String
Dim url As String
Dim response As String
apiKey = "DEIN_GOOGLE_API_KEY"
url = "https://translation.googleapis.com/language/translate/v2" & _
"?q=" & URLEncode(text) & _
"&target=" & zielSprache & _
"&format=text" & _
"&key=" & apiKey
Set http = CreateObject("MSXML2.ServerXMLHTTP")
http.Open "GET", url, False
http.Send
response = http.responseText
UebersetzeMitGoogle = ExtrahiereGoogleText(response)
End Function
Ergebnis extrahieren (Google)
Function ExtrahiereGoogleText(json As String) As String
Dim sc As Object
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
sc.AddCode "function parse(j){return JSON.parse(j).data.translations[0].translatedText;}"
ExtrahiereGoogleText = sc.Run("parse", json)
End Function
URLEncode-Hilfsfunktion
Function URLEncode(text As String) As String
Dim sc As Object
Set sc = CreateObject("ScriptControl")
sc.Language = "JScript"
sc.AddCode "function enc(x){return encodeURIComponent(x);}"
URLEncode = sc.Run("enc", text)
End Function
Formular: Übersetzungsbutton
Private Sub btnUebersetzen_Click()
Dim quelle As String
Dim ziel As String
Dim ergebnis As String
quelle = Me.txtOriginal
ziel = Me.cboZielsprache
ergebnis = UebersetzeMitDeepL(quelle, ziel)
Me.txtUebersetzung = ergebnis
Call SpeichereUebersetzung(Me.ID, ziel, ergebnis)
End Sub
Ergebnis speichern
Sub SpeichereUebersetzung(textID As Long, sprache As String, inhalt As String)
CurrentDb.Execute "INSERT INTO tblUebersetzungen (TextID, Sprache, Inhalt, Zeitstempel) VALUES (" & _
textID & ", '" & sprache & "', '" & Replace(inhalt, "'", "''") & "', Now())"
End Sub
Welche Sprachen gehen?
ISO-Code | Sprache |
---|---|
DE | Deutsch |
EN | Englisch |
FR | Französisch |
ES | Spanisch |
IT | Italienisch |
NL | Niederländisch |
PL | Polnisch |
Für DeepL: Großbuchstaben (EN
, DE
)
Für Google: Kleinbuchstaben (en
, de
)
Was sinnvoll ist
- Serienübersetzungen für Produkttexte
- KI-gestützte E-Mail-Erkennung (Sprache + Inhalt)
- Kombination mit Tabellenfilter: alle offenen Texte → übersetzen lassen
- Rückübersetzung für Qualitätscheck
Was Du beachten musst
- API-Limits pro Monat (DeepL Free: 500.000 Zeichen)
- Bei Google Translate kostenpflichtig ab Start
- Zeichensatzprobleme bei Sonderzeichen vermeiden
- Fehlerhandling einbauen (Timeouts, Quoten)
„Access spricht jetzt auch Englisch. Oder was Du willst.“
Wenn Du das sauber integrieren willst – ich helf Dir.
Klar, strukturiert, ohne Cloud-Kuddelmuddel.
Keine Antworten