Automatización OLE para lanzar MS Word y traer al frente

¿Cuál es el método "correcto" (recomendado) para conectarse a una instancia en ejecución de MS Word y llevar esta aplicación al frente? Estoy haciendo algo como lo siguiente desde una aplicación VBA:

...
objWord = GetObject ("Word.Application")
if (objWord is nothing) then
  objWord = CreateObject("Word.Application")
end if
objWord.Activate()
objWord.Visible = true
objWord.WindowState = 1 'maximized
...

Funcionando en Windows XP con Word 2007, esto funciona la mayor parte del tiempo, pero periódicamente no muestra la ventana de Word al frente (y en su lugar muestra el icono minimizado para Word en la barra de tareas).

NOTA: Resolví parcialmente este problema utilizando la llamada FindWindow Win API:

hwnd = FindWindow("OpusApp", vbNullString)
If hwnd > 0 Then 
  SetForegroundWindow (hwnd)
end if

Esto no es 100% porque (como señaló drventure), si se están ejecutando varias instancias de Word, no puede estar seguro de a qué se enfrentará. Desde cuando mi código inicia Word, primero usa GetObject y luego CreateObject si eso falla, siempre que haya una instancia de Word ejecutándose, estoy bien.

Respuestas a la pregunta(1)

Su respuesta a la pregunta