Исключение составляет сам сервер автоматизации, вы не можете предотвратить это.Однако вы можете получить счетчик открытых Documents
перед доступом к ActiveDocument
;
WordApplication.Documents.Count
Если «Счет» равен 0, если нет доступных документов.
edit: Кроме того, вы можете молча обработать конкретное исключение, например (код Delphi);
function ActiveDocumentExists(WordApplication: Variant): Boolean;
begin
Result := True;
try
WordApplication.ActiveDocument.Activate;
except on E: EOleException do
if E.ErrorCode = LRESULT($800A1098) then
Result := False;
end;
end;