Rechtschreibprüfung umschalten
Wer viel in 2 oder mehr Sprachen per E-Mail kommuniziert, wird des Umschaltens der Rechtschreibprüfung bald überdrüssig. Doch mit etwas Code kann man eine Umschaltung der Rechtschreibprüfung zwischen mehreren Sprachen per Mausklick erreichen.
Zur Verwendung dieses Beispiels beachten Sie bitte die wichtigen Hinweise, sowie den Workshop VBA in Outlook® verwenden. Den Code bitte in ein neues Modul kopieren (Einfügen -> Modul im VBA-Editor).
Für Outlook® 2000, Outlook® 2002 und Outlook® 2003 - VB-Skript erforderlich
Option Explicit Public Sub SetGermanSpelling() ' Deutsche Rechtschreibprüfung einstellen Call SetSpelling("Deutsch") End Sub Public Sub SetEnglishSpelling() ' Englische Rechtschreibprüfung einstellen Call SetSpelling("Englisch") End Sub Public Sub SetFrenchSpelling() ' Französische Rechtschreibprüfung einstellen Call SetSpelling("Französisch") End Sub Private Sub SetSpelling(ByVal strLanguage As String) '===================================================================== ' Schaltet die Rechtschreibprüfung per Mausklick um. ' Funktioniert nur bis Outlook 2003 ' (c) Peter Marchert - http://www.outlook-stuff.com ' 2008-11-12 Version 1.0.0 '===================================================================== Dim strVer As String ' Outlook®-Version Dim strRegKey As String ' Schlüssel für die Rechtschreibprüfung Dim blnResult As Boolean ' Umstellung erfolgreich '--------------------------------------------------------------------- ' Outlook®-Version ermitteln '--------------------------------------------------------------------- Select Case Left(Outlook.Version, 2) Case "9.": strVer = "9.0" ' Outlook® 2000 Case "10": strVer = "10.0" ' Outlook® 2002 Case "11": strVer = "11.0" ' Outlook® 2003 End Select '--------------------------------------------------------------------- ' Registrierungsschlüssel zusammensetzen '--------------------------------------------------------------------- strRegKey = "HKCU\Software\Microsoft\Office\" & strVer & "\Outlook\Options\Spelling\Speller" '--------------------------------------------------------------------- ' Sprache umschalten '--------------------------------------------------------------------- Select Case strLanguage Case "Deutsch" blnResult = RegWrite(strRegKey, "1031Normal") Case "Englisch" blnResult = RegWrite(strRegKey, "1033Normal") Case "Französisch" blnResult = RegWrite(strRegKey, "1036Normal") Case Else MsgBox "Es ist keine Sprache definiert.", vbCritical + vbOKOnly Exit Sub End Select '--------------------------------------------------------------------- ' Umschaltung erfolgreich? '--------------------------------------------------------------------- If blnResult Then MsgBox "Die Rechtschreibprüfung wurde auf " & strLanguage & _ " umgestellt.", vbInformation + vbOKOnly Else MsgBox "Die Rechtschreibprüfung konnte nicht auf " & strLanguage & _ " umgestellt werden.", vbCritical + vbOKOnly End If End Sub Private Function RegWrite(ByVal strKey As String, ByVal varValue As Variant) As Boolean '===================================================================== ' Schreibt Daten in die Registrierung ' 2008-11-12 Version 1.0.0 '===================================================================== Dim objWsh As Object On Error Resume Next '--------------------------------------------------------------------- ' Windows Script Host instanzieren '--------------------------------------------------------------------- Set objWsh = CreateObject("WScript.Shell") '--------------------------------------------------------------------- ' Daten in Registrierung schreiben '--------------------------------------------------------------------- Call objWsh.RegWrite(strKey, varValue) '--------------------------------------------------------------------- ' Prüfen, ob Wert geschrieben wurde '--------------------------------------------------------------------- If RegRead(strKey) = varValue Then RegWrite = True '--------------------------------------------------------------------- ' Clean Up '--------------------------------------------------------------------- Set objWsh = Nothing End Function Private Function RegRead(ByVal strKey As String) As Variant '===================================================================== ' Liest Daten aus der Registrierung ' 2008-11-12 Version 1.0.0 '===================================================================== Dim objWsh As Object On Error Resume Next '--------------------------------------------------------------------- ' Windows Script Host instanzieren '--------------------------------------------------------------------- Set objWsh = CreateObject("WScript.Shell") '--------------------------------------------------------------------- ' Daten aus Registrierung lesen und zurückgeben '--------------------------------------------------------------------- RegRead = objWsh.RegRead(strKey) '--------------------------------------------------------------------- ' Clean Up '--------------------------------------------------------------------- Set objWsh = Nothing End Function