Sub RohUebersetzung()
'Ich setze hier mal bequem voraus, dass die zu übersetzenden
' Zellen von Hand markiert sind.
'Kann man ein festes rechteckiges Raster angeben würde ich zu
' normalem For-To-Next greifen; evtl. mit Do-Loop vereint.
'Außerdem machen wir's mal primitv: wir überschreiben einfach
' die originalen Texte (Kopie der Datei verwenden z.B.)
'Voraussetzung:
' In der Zelle darf nur ein "Einzeiler" sthen, also irgendwas
' _ohne_ einen maunellen Umbruch mit Alt+Return!
' Die Zellformatierung des automatischen Umbruchs ist problemlos.
Dim Zelle As Range
Dim Dummy As Variant
Set Ablage = New DataObject
'Alle gewählten Zellen ablaufen
For Each Zelle In Selection
If Zelle.Value <> "" Then
'Zellinhalt in die Zwischenablage
Ablage.SetText Trim(Zelle.Value)
Ablage.PutInClipboard
'Aufruf der Übersetzer-Page.
' Gag der Übung: ein IE bleibt offen und auch die Tabs vermehren sich nicht.
Dummy = Shell(Environ("comspec") & " /c start " & Chr(34) & Chr(34) & " " & Chr(34) & "
http://translate.google.com/#ru|de|" & Trim(Zelle.Value) & Chr(34))
Rem Handarbeit erforderlich…
Rem …Rückgabe per Hand kopieren & die Input-Box fortsetzen;
Rem einfach mit Alt+Tab oder anders zu Excel zurückwechseln.
Dummy = InputBox("Eintippen unnötig - nur Enter", "Übersetzung abholen", "")
Rem (InputBox weil eine MsgBox dauernd den Systemsounds auslösen würde.)
'Die Zwischenablage einkleben
Ablage.GetFromClipboard
Zelle.Value = Ablage.GetText(1)
End If
Next
End Sub