Народ не напрягатесь. Вопрос отпал сам собой.
function IsObjectActive(ClassName: string): Boolean; //проверяю запущен ли Ворд
var
ClassID: TCLSID;
Unknown: IUnknown;
begin
try
ClassID := ProgIDToClassID(ClassName);
Result := GetActiveObject(ClassID, nil, Unknown) = S_OK;
except
Result := False;
end;
end;
procedure TForm1.btWordClick(Sender: TObject);
begin
if IsObjectActive('Word.Application')
then w:=GetActiveOleObject('Word.application')
else w:=CreateOleObject('word.application');
........
end;
Функция взята с
www.delphiworld.narod.ru