Parece que o modal é o único comportamento por design, mas há uma solução alternativa:
CommandBars.FindControl(ID).Execute
Com o ID apropriado, isso é análogo a apertar o botão com o mouse para abrir a caixa de diálogo.
Eu nunca usei isso sozinho, exceto para confirmar que funciona em v2010, e meu instinto diz que se deve procurar uma maneira de confirmar ou derivar o número de ID (ou talvez haja um constante), já que é um disco rígido. codificado "número mágico" que pode mudar de versão para versão.
No Word 2010, que tenho à mão, "Localizar" é ID: = 141, "Substituir" é ID: = 313.
Para que você possa configurar uma pesquisa "programática" e, em seguida, chamar, use o método CommandBars acima para abrir a caixa de diálogo. Deve ser preenchido do jeito que você quer e deve ser não-modal.
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
Obviamente, não-modal também significa que a execução de código continua imediatamente.