xlKillExcel не закрывает Excel

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

xlKillExcel не закрывает Excel

Сообщение BlazeBio »

.............................
StartNewVisual(vtRotateVisual, vfTimer+vfBreak+vfConfirm,''#3'...открывается .xls-файл...',1);
xlCreateExcelWithTemplate(sXlFileName,false);
StopVisual('',0);

If xlIsExcelValid = true
{
if xlSetActiveSheetByName(sXlSheet) = true
{
If xlReadMatrixFromExcel(0,0, 201,12) = true
{


StartNewVisual(vtRotateVisual, vfTimer,''#3'...формируется таблица...',1);

for (iRowNum:=1; iRowNum <= 201; iRowNum:=iRowNum+1) // Закачиваем данные во временную таблицу

{ //For
xlReadFromMatrix(iRowNum,0, temp_str);
TblSfString(T_excel,T_npp2,temp_str);

xlReadFromMatrix(iRowNum,1, temp_str);
TblSfString(T_excel,T_npp,temp_str);


xlReadFromMatrix(iRowNum,2, temp_str);
TblSfString(T_excel,T_CarType,temp_str);

xlReadFromMatrix(iRowNum,4, temp_tar);
TblSfdouble(T_excel,T_tarH,temp_tar);

xlReadFromMatrix(iRowNum,5, temp_tar);
TblSfdouble(T_excel,T_tarKM,temp_tar);

xlReadFromMatrix(iRowNum,6, temp_tar);
TblSfdouble(T_excel,T_tar100H,temp_tar);

xlReadFromMatrix(iRowNum,7, temp_tar);
TblSfdouble(T_excel,T_tar100KM,temp_tar);

xlReadFromMatrix(iRowNum,8, temp_tar);
TblSfdouble(T_excel,T_tar50H,temp_tar);

xlReadFromMatrix(iRowNum,9, temp_tar);
TblSfdouble(T_excel,T_tar50KM,temp_tar)

xlReadFromMatrix(iRowNum,10, temp_str);
TblSfstring(T_excel,T_sid,temp_str);

TblInsertCurrent(T_excel);
} //For

StopVisual('',0);
}//if
else { message('Ошибка позиции'); }
} // if xlSetActiveSheetByName(sXlSheet) = true end
else
{
message('.xls-файл не открывается. Неверно указано наименование листа Excel.');
} // else if xlSetActiveSheetByName(sXlSheet) = true end
xlKillExcel;
} // top if end
else
{
message('ошибка открытия *.xls файла');
} // If xlIsExcelValid = true end
....................................

Здесь я выбираю через виповский интерфейс файл Auto.xls. Прога откравает его и оставляет открытым. А мне нужно, чтобы он мгновенно открывался и затем также быстро закрывался автоматически. хlEXcelKill не закрывает и не скрывает xlCreateExcelWithTemplate(sXlFileName,false). В чём проблема или так и должно быть ?
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Всё, сам разобрался ! :grin:
Нужно вместо
xlCreateExcelWithTemplate(sXlFileName,false)
использовать комбинацию функций
xlOpenNewExcel(false);
xlOpenWorkbook(sXlFileName);
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

а в дисптчере задач ничего не остается?
есть еще функции для закрытия книги.
BlazeBio
Местный житель
Сообщения: 386
Зарегистрирован: 27 апр 2010, 14:31
Контактная информация:

Сообщение BlazeBio »

Какие процессы - типа EXCEL.EXE ? Раньше были, теперь EXCEL.EXE появляется в диспетчере задач и нормально закрывается, то есть не остаётся в памяти.
Ответить