Еще один способ - отключение реагирования на DDE запросы в процессе-обработчике. Перед закрытием Excel параметр восстановить обратно (В обязательном порядке!!! Иначе открыть файл из проводника не получится).
X++:
static void ExcelImportTest(Args _args)
{
ComExcelDocument_Ru excel = new ComExcelDocument_Ru();
com doc;
com app;
com sheet;
com range;
ComVariant var;
boolean ignore;
;
excel.open("c:\\Temp\\Test.xls", false);
doc = excel.getComDocument();
app = doc.application();
ignore = app.IgnoreRemoteRequests();
app.IgnoreRemoteRequests(true);
try
{
sheet = app.activesheet();
range = sheet.range("A1:J1");
while (true)
var = range.value();
}
catch
{
info("catch"); // из обработки вываливаемся по брейку
}
app.IgnoreRemoteRequests(ignore);
app.quit();
}
Минусы - нельзя будет организовать обмен с Excel через DDE.