Дозвольте присоседиться со своим "пятачком". Потребовалось влезть в уже работающий скрытый экземпляр Excel: длительный вывод данных завис и нужно было посмотреть, в чём дело. Запускать весь процесс заново с visible = true не хотелось - в целях экономии времени (место, где поставить visible = true еще нужно было искать в чужом коде). Визуализироваться помог такой джобик, запущенный из другой сессии Аксапты (предварительно все другие видимые экземпляры Excel были закрыты - в Task Manager'е оставался только этот единственный скрытый "зависший" Excel):
X++:
static void Show_Excel(Args _args)
{
COM xlApp;
xlApp = COM::getObject('Excel.Application');
xlApp.Visible(true);
}
или можно совсем коротко, хотя и чуть менее наглядно:
X++:
static void Show_Excel(Args _args)
{
;
COM::getObject('Excel.Application').Visible(true);
}
P.S. А если под рукой вдруг нет Аксапты или не хочется создавать джоб, то можно открыть зависший Excel из другого приложения Office, например, из Word при помощи такого кода VBA:
Код:
Sub Show_Excel_From_Word()
Dim xlApp As Object
Set xlApp = GetObject(, "Excel.Application")
xlApp.Visible = True
End Sub