Я написал небольшой скрипт для автоматического выбора первой опции автозамены. Он работает, когда в 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