Также пробовал через .NET вызывать
X++:
Microsoft.Office.Interop.Excel.Application tExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
real version;
str strVersion;
;
strVersion = tExcel.get_Version();
info(strVersion);
tExcel.Quit();
tExcel = null;
System.GC::Collect();
System.GC::WaitForPendingFinalizers();
Процесс Excel в памяти остается (Ax2012R3 + Office 2013)
Ну или такой вариант - аналогично
X++:
static void Job25(Args _args)
{
ComExcelDocument_RU excelDocument;
COM comDocument;
COM comApplication;
real excelVersion;
try
{
excelDocument = ComExcelDocument_RU::construct();
excelDocument.newFile('', false);
comDocument = excelDocument.getComDocument();
if (comDocument)
{
comApplication = comDocument.application();
if (comApplication)
{
excelVersion = str2num(comApplication.version());
}
}
excelDocument.quitApplication(true);
if (comDocument)
{
comDocument.finalize();
comDocument = null;
}
if (comApplication)
{
comApplication.finalize();
comApplication = null;
}
System.GC::Collect();
System.GC::WaitForPendingFinalizers();
}
catch (Exception::Internal)
{
excelDocument.closeDocument();
if (comDocument == null || comApplication == null)
{
throw error("@SYS98748");
}
}
info(strFmt("%1", excelVersion));
}