OLE error 800AC472 - это, еслправнпомн, одновременнное обращение нескольких потоков к одной книге экзеля, и видимо, ни к чему хорошему это не приводит, т.е. возможно нужна проверка после создания олиобжекта типа if MyDoc <> nil then...
Насчёт как убрать видимость, вот вариант
Код:
var
ExcelApp : Variant;
begin
try
ExcelApp:= GetActiveOleObject('Excel.Application');
ExcelApp.Visible:= false;
except
end;
не проверял, "кошечек" для тренировки нема
