Если пользователь находясь в редактировании ячейки переключится в Navision и запустит выгрузку в Excel через Automation, то вероятнее всего возникнет ошибка.
Это можно обойти, используя CREATE(ExcelAppG, TRUE); вместо CREATE(objExcelAppG);
Но тогда будут плодиться процессы EXCEL.EXE
Создать Cudeunit скодом InitExcel[attachment=1122:InitExcel.txt]
Код:
OnRun()
CREATE(ExcelAppG);
IF ExcelAppG.Visible THEN;
CreateApp(VAR ExcelAppP : Automation "'Microsoft Excel 12.0 Object Library'.Application")
IF cuInitExcel.RUN THEN
cuInitExcel.GetApp(ExcelAppP)
ELSE
CREATE(ExcelAppP,TRUE);
GetApp(VAR ExcelAppP : Automation "'Microsoft Excel 12.0 Object Library'.Application")
ExcelAppP := ExcelAppG;
И вместо CREATE(objExcelApp)
сипользовать cuInitExcel.CreateApp(objXL_L);
Часто, в момент выгрузки, делаем ExcelAppG.Visible(FALSE). И при возникновении ошибки, Excel остается скрытым со всеми файлами.
Чтоб его отобразить делаем ярлык на скрипт
show excel.vbs с кодом.
Код:
On Error Resume Next
set XL = getObject (,"Excel.Application")
if err.number = 0 then
XL.visible = true
XL.ScreenUpdating = true
end if
И запускаем, если что-то пропало с экрана.
Возможно это кому-то пригодится.