Похоже, что модальное поведение - это единственное поведение, но есть обходной путь:
CommandBars.FindControl(ID).Execute
При правильном идентификаторе это аналогично нажатию кнопки мышью, чтобы открыть диалоговое окно.
Я никогда не использовал это сам, кроме как для подтверждения того, что это работает в v2010, и мой инстинкт говорит, что нужно искать способ подтвердить или получить идентификационный номер (или, возможно, есть константа, которую можно использовать), так как это жестко закодированное номер ", который может меняться от версии к версии.
В Word 2010, который мне удобен, "Найти" - это ID:= 141, "Заменить" - это ID:= 313.
Таким образом, вы можете настроить "программный" поиск, а затем вызвать, используя вышеуказанный метод CommandBars, чтобы открыть диалоговое окно. Он должен быть заполнен так, как вы хотите, и должен быть немодальным.
Sub TestMacro()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "test find field"
.Replacement.Text = "test replace field"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
CommandBars.FindControl(ID:=313).Execute
end sub
Конечно, немодальное также означает, что выполнение кода продолжается немедленно.