У меня есть текстовый документ, который содержит только следующее предложение:
"Esta es una oración en Español, para un documentmento en Español."
Я собираюсь создать макрос, который может обнаружить, что это не английский язык sh, а затем выполнить заданное действие.
Следующий код основан на коде, найденном на странице Microsoft для метода DetectLanguage
Sub DetLang()
If Application.Documents.Count >= 1 Then
MsgBox ActiveDocument.Name
Else
MsgBox "No documents are open"
End If
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
ActiveDocument.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
End Sub
Когда он попадает в строку, где вызывается .DetectLanguage, макрос вылетает и выдает ошибку 4198.
Можете ли вы сказать мне, в чем причина проблемы?
Спасибо.