AutoKorrektur-Optionen des E-Mail-Editors von Outlook per VBA einstellen
So können Sie AutoKorrektur-Optionen des E-Mail-Editors von Outlook per VBA festlegen
Dies ist eine Helpline aus dem kostenlosen Newsletter SmartTools Outlook Weekly.
Frage: Beim Schreiben von Texten und E-Mails stören mich häufig die automatischen Ersetzungen der AutoKorrektur-Funktion – insbesondere die automatische Formatierung während der Eingabe. Für Word habe ich schon ein kleines Makro geschrieben, das die entsprechenden AutoKorrektur-Optionen ausschaltet. Da Word ja auch in Outlook als E-Mail-Editor zum Einsatz kommt, dachte ich, dass ich das Makro in leicht abgewandelter Fassung auch in Outlook einsetzen könnte. Das klappt aber nicht. Offenbar stehen die AutoKorrektur-Einstellungen aus Outlook programmiertechnisch nicht zur Verfügung. Kennen Sie einen Trick, mit dem ich die AutoKorrektur-Optionen aus Outlook per VBA bearbeiten kann?
Antwort: Sie haben recht: Standardmäßig verwendet Outlook Word als E-Mail-Editor. Die Programmeinstellungen des Outlook-Editors sind aber unabhängig von denen des eigenständigen Word-Programms. Und im Outlook-Objektmodell, auf das Sie bei der VBA-Programmierung zugreifen, gibt es keine direkten Eigenschaften oder Methoden für den Word-Editor.
Über einen kleinen Umweg können Sie das Word-Objektmodell hinter dem E-Mail-Editor von Outlook aber dennoch erreichen. Dazu verwenden Sie das WordEditor-Objekt des Nachrichtenfensters, über das Sie Zugriff auf die zugrundeliegende Word-Anwendung erhalten. Dann müssen Sie im VBA-Code aber nicht die normalen Optionen des Word-Objekts bearbeiten, sondern die "EmailOptions", um die in Outlook gültigen AutoKorrektur-Einstellungen zu ändern.
Das im Anschluss vorgestellte Makro zeigt, wie Sie die AutoKorrektur-Optionen auf der Registerkarte AutoFormat während der Eingabe je nach Bedarf ein- oder ausschalten können. Damit Ihnen beim Entwickeln des VBA-Codes nicht nur die Outlook-Elemente, sondern auch die Word-Elemente zur Verfügung stehen, richten Sie zuerst einen Verweis auf die Word-Objektbibliothek ein:
- Wechseln Sie aus Outlook mit Alt+F11 in die VBA-Entwicklungsumgebung.
- Wählen Sie darin Extras-Verweise an.
- Suchen Sie im Listenfeld Verfügbare Verweise den Eintrag "Microsoft Word xx.x Object Library" (xx.x steht für die Versionsnummer – zum Beispiel 16.0 für Word 2016 und neuer).
- Setzen Sie einen Haken im zugehörigen Kontrollkästchen.
- Bestätigen Sie die Auswahl mit Ok.
Erstellen Sie nun das Makro zum Umschalten der AutoKorrektur-Einstellungen:
- Wechseln Sie – falls nötig – wieder in die VBA-Entwicklungsumgebung von Outlook.
- Wählen Sie Einfügen-Modul an.
- In das daraufhin eingefügte Codefenster geben Sie folgenden Makrocode ein:
Sub AutoKorrektur_EinAus()
Dim olMail As MailItem
Dim olInsp As Inspector
Dim wdApp As Word.Application
Dim wdEditor As Word.Document
Dim wdOpt As Word.EmailOptions
Dim dlgResult As Long
Dim booOnOff As Boolean
On Error GoTo AutoKorr_Error
dlgResult = MsgBox( _
Prompt:="Möchten Sie die AutoKorrekturen ausschalten?" & _
String(2, vbCrLf) & _
"Ja:" & vbTab & "Ausschalten" & vbCrLf & _
"Nein:" & vbTab & "Einschalten", _
Buttons:=vbYesNoCancel + vbQuestion, _
Title:="AutoKorrektur anpassen")
If dlgResult = vbYes Then
booOnOff = False
ElseIf dlgResult = vbNo Then
booOnOff = True
Else
Exit Sub
End If
Set olMail = Application.CreateItem(olMailItem)
Set olInsp = olMail.GetInspector
If olInsp.EditorType = olEditorWord Then
Set wdEditor = olInsp.WordEditor
Set wdApp = wdEditor.Application
Set wdOpt = wdApp.EmailOptions
With wdOpt
.AutoFormatAsYouTypeApplyHeadings = booOnOff
.AutoFormatAsYouTypeApplyBorders = booOnOff
.AutoFormatAsYouTypeApplyBulletedLists = booOnOff
.AutoFormatAsYouTypeApplyNumberedLists = booOnOff
.AutoFormatAsYouTypeApplyTables = booOnOff
.AutoFormatAsYouTypeReplaceQuotes = booOnOff
.AutoFormatAsYouTypeReplaceSymbols = booOnOff
.AutoFormatAsYouTypeReplaceOrdinals = booOnOff
.AutoFormatAsYouTypeReplaceFractions = booOnOff
.AutoFormatAsYouTypeReplacePlainTextEmphasis = booOnOff
.AutoFormatAsYouTypeReplaceHyperlinks = booOnOff
.AutoFormatAsYouTypeFormatListItemBeginning = booOnOff
.AutoFormatAsYouTypeDefineStyles = booOnOff
.TabIndentKey = booOnOff
End With
If booOnOff = False Then
MsgBox Prompt:="AutoKorrekturen AUSgeschaltet.", _
Buttons:=vbInformation, _
Title:="AutoKorrektur anpassen"
Else
MsgBox Prompt:="AutoKorrekturen EINgeschaltet.", _
Buttons:=vbInformation, _
Title:="AutoKorrektur anpassen"
End If
Else
MsgBox Prompt:="Word-Editor ist nicht aktiv.", _
Buttons:=vbExclamation, _
Title:="AutoKorrektur anpassen"
End If
olMail.Close olDiscard
AutoKorr_End:
Set wdOpt = Nothing
Set wdApp = Nothing
Set wdEditor = Nothing
Set olInsp = Nothing
Set olMail = Nothing
Exit Sub
AutoKorr_Error:
MsgBox _
Prompt:="Fehler beim Ändern der AutoKorrektur-Optionen:" & _
vbCrLf & _
"Fehlernr. " & Err.Number & ": " & Err.Description, _
Buttons:=vbCritical, _
Title:="AutoKorrektur anpassen"
Resume AutoKorr_End
End Sub
- Wählen Sie Datei-VbaProject.OTM speichern an.
- Verlassen Sie die Entwicklungsumgebung per Datei-Schließen und zurück zu Microsoft Outlook.
Mit dem Makro können Sie die AutoKorrektur-Einstellungen nun im Handumdrehen ein- oder ausschalten:
- Drücken Sie in Outlook die Tastenkombination Alt+F8, um das Dialogfenster Makros zu öffnen.
- Markieren Sie den Makronamen "AutoKorrektur_EinAus".
- Klicken Sie auf Ausführen.
- Daraufhin werden Sie gefragt, ob Sie die AutoKorrekturen ausschalten wollen. Klicken Sie auf Ja, um die Optionen zu deaktivieren. Klicken Sie auf Nein, um die Optionen bei Bedarf wieder einzuschalten. Oder klicken Sie auf Abbrechen, wenn Sie den Vorgang nicht fortsetzen wollen.
- Am Ende erhalten Sie eine Rückmeldung, dass die AutoKorrekturen entweder "AUSgeschaltet" oder "EINgeschaltet" wurden.
TIPP Wenn Sie den Makroaufruf komfortabler gestalten wollen, legen Sie im Menüband oder in der Symbolleiste für den Schnellzugriff eine Schaltfläche an, mit der Sie das Makro "AutoKorrektur_EinAus" direkt per Mausklick ausführen lassen.
Bestellen Sie hier den kostenlosen Newsletter SmartTools Outlook Weekly mit wöchentlichen Tipps, Lösungen und Gratis-Downloads rund um alle aktuellen Outlook-Versionen.