DetectLanguage Method

Microsoft Word Visual Basic

expression.DetectLanguage

expression    Required. An expression that returns a Document, Range, or Selection object.

Remarks

The results of the DetectLanguage method are stored in the LanguageID property on a character-by-character basis. To read the LanguageID property, you must first specify a selection or range of text.

When applied to a Document object, the DetectLanguage method checks all available text in the document (headers, footers, text boxes, and so forth). If the specified text contains a partial sentence, the selection or range is extended to the end of the sentence.

If the DetectLanguage method has already been applied to the specified text, the LanguageDetected property is set to True. To reevaulate the language of the specified text, you must first set the LanguageDetected property to False.

For more information about automatic language detection, see About automatic language detection.

Example

This example checks the active document to determine the language it’s written in and then displays the result.

With ActiveDocument
    If .LanguageDetected = True Then
        x = MsgBox("This document has already " _
            & "been checked. Do you want to check " _
            & "it again?", vbYesNo)
        If x = vbYes Then
            .LanguageDetected = False
            .DetectLanguage
        End If
    Else
        .DetectLanguage
    End If
    If .Range.LanguageID = wdEnglishUS Then
        MsgBox "This is a U.S. English document."
    Else
        MsgBox "This is not a U.S. English document."
    End If
End With