VBA – Word: Markiertem Text eine Formatvorlage zuweisen

Beschreibung

Eine häufig verwendete Formatvorlage kann mit Hilfe dieses Makros einem markierten Text zugewiesen werden.
In dem unten gezeigten Beispiel wird dem markierten Text das Format der Formatvorlage „Fazit (englisch)“ zugewiesen. Außerdem wird die Textsprache auf englisch (britisch) umgestellt und die automatische Spracherkennung abgeschaltet. Für das Umschalten der Sprache auf englisch (britisch) und das Abschalten der automatische Spracherkennung hätte man an dieser Stelle auch die entsprechende Funktion aus dem Beitrag „VBA – Word: Textsprache um-/abschalten“ (siehe Textsprache auf „Englisch (UK)“ umschalten) verwenden können.

Sourcecode

Public Sub FormatFazit_englisch()
    ' Bei Fehlern wird zur Sprungmarke NoDocumentOpen gesprungen und damit die Funktion beendet.
    On Error GoTo NoDocumentOpen

    ' Falls keine Datei geöffnet ist, wird zur Sprungmarke NoDocumentOpen gesprungen und damit die Funktion beendet. Die Prüfung, ob eine Datei geöffnet ist, wird über die Länge des Dateinamens des aktiven Dokuments durchgeführt.
    If Len(ActiveDocument.Name) = 0 Then GoTo NoDocumentOpen

    With Selection

        ' markiertem Text das Format der Formatvorlage "Fazit (englisch)"
        .Style = ActiveDocument.Styles("Fazit (englisch)")

        ' Auswahl der Sprache. In diesem Fall wurde der Wert für "Englisch (UK)" = englisch (britisch) verwendet.
        ' Mögliche Werte findet man in der VBA-Hilfe, wenn man den Suchbegriff "LanguageID" eingibt und dort auf "WdLanguageID-Wert mit Lese-/Schreibzugriff." klickt.
        .LanguageID = wdEnglishUK
    End With

    ' Hiermit wird die automatische Spracherkennung abgeschaltet. Word ändert die Sprache also nicht selbständig in eine andere.
    Application.CheckLanguage = False

NoDocumentOpen:
End Sub