Outlook 2013 - VBA - ответ в строке

Outlook 2013 - VBA - ответ в строке

Я написал небольшой скрипт для автоматического выбора первой опции автозамены. Он работает, когда в 2013 году я пишу новое письмо или "вывожу" письмо. Однако он не работает, когда я отвечаю "в строке" - например, как в правом окне на изображении ниже.

В VBA - как найти/выбрать текст в новом письме, если оно находится в режиме «работы в строке»?

введите описание изображения здесь

Ниже представлен мой текущий код.

Sub Spellcheckoutlook()

Dim oSE As Word.Range
Dim oSC
With ActiveInspector
    If .IsWordMail And .EditorType = olEditorWord Then
        For Each oSE In .WordEditor.Range.SpellingErrors
            Set oSC = oSE.GetSpellingSuggestions
            If oSC.Count > 0 Then
            oSE.Text = oSC(1)
            End If
        Next oSE
    End If
End With

End Sub

решение1

Ваш код работает с Outlook Inspector (отдельное окно сообщений). Для того, чтобы иметь возможность манипулировать текстом правой панели предварительного просмотра, вам нужно использоватьАктивныйЭксплорер'sActiveInlineResponseWordEditorсвойство вроде этого:

Set Editor = ActiveExplorer.ActiveInlineResponseWordEditor
If Editor Is Nothing And Not ActiveInspector Is Nothing Then
    Set Editor = ActiveInspector.WordEditor
End If
If Not Editor Is Nothing Then
    ' Do your stuff for Editor.Range ...
End If

Связанный контент