I am automating Word and getting the existing instance if available using the following:

Code:
Word.Application oWord = null;        
Word.Document oDoc = null;
object oMissing = System.Reflection.Missing.Value;	
object sFN = @"C:\Test\TestDoc.doc";

try 
{
     // Is Word running? 
     oWord = Marshal.GetActiveObject("Word.Application") as Word.Application;
...