MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

 
Ads
Themen-Optionen Ansicht
Alt 19.01.2011, 21:43   #1
JPA
MOF Koryphäe
MOF Koryphäe
Top Codebeispiel - Google Übersetzer nutzen aus VBA via Internet Explorer

Der Google Übersetzer Dienst wird immer besser. Daher die Idee diesen automatisiert mit VB/VBA zu nutzen.
Voraussetzungen sind: Verbindung zum Web und Internet Explorer.
Hier die Prozedur:

Code:

Public Function TranslateByGoogle(OrigineText As String, _
  LangCodeFrom As String, _
  LangCodeTo As String, _
  TranslateText As String, _
  Optional UniCodeID As Long, _
  Optional TimeOutSeconds As Integer = 3, _
  Optional ErrSilent As Boolean = False) As Boolean
 
'Copyright by Jean Pierre Allain

  Dim ieOBJ As Object, WaitTime As Date
 
  ' Google Webseite
  Const WebSite As String = "http://translate.google.com"
 
  ' Fehlerbehandlung
  On Error GoTo ErrHandler
  If Len(OrigineText) > 0 And Not LangCodeFrom = LangCodeTo Then
    ' IE Objekt (Instanz) erstellen
    Set ieOBJ = CreateObject("InternetExplorer.Application")
 
    ' Webseite mit Parameter aufrufen
    ieOBJ.Navigate WebSite & "/?sl=" & LangCodeFrom & _
      "&tl=" & LangCodeTo & "#" & LangCodeTo & "|" & _
      LangCodeFrom & "|" & OrigineText
 
    ' TimeOut festlegen
    WaitTime = Now + TimeValue("00:00:" & TimeOutSeconds)
    On Error Resume Next
    Do
      ' Google-Ergebnis auslesen
      TranslateText = ieOBJ.Document.getElementById("result_box").innerText
      If Now() >= WaitTime Then Exit Do
    Loop While TranslateText = ""
    On Error GoTo ErrHandler
 
    ' Ergebnis auslesen (Überstzung)
    If Len(TranslateText) > 0 And Not TranslateText = OrigineText Then
      ' Übersetzung ggf. in angegebene Landessprache konvertieren
      If UniCodeID <> 0 Then
        TranslateText = StrConv(TranslateText, vbUnicode, UniCodeID)
      End If
 
      TranslateByGoogle = True
    End If
  End If
 
ExitProc:
  On Error Resume Next
  ' Objekte zerstören
  ieOBJ.Quit
  Set ieOBJ = Nothing
  Exit Function
 
ErrHandler:
  If Not ErrSilent Then
    MsgBox Err.Description, vbCritical, Err.Number
  End If
  Resume ExitProc
End Function
Code:

Dim Result As String
 
' Sprach-Codes müssen als ISO-Ländercode übergeben werden
' Bsp.: Deutsch = DE
'       Englisch = EN
'       Französisch = FR
'       Polnisch = PL
'       usw.
If TranslateByGoogle("Das war ja einfach!", "DE", "EN", Result) Then
  MsgBox Result
End If
CU
JPA

Geändert von JPA (19.01.2011 um 21:50 Uhr).
JPA ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.