Я хочу использовать QAxObject
для работы с файлами Excel.
Я хочу реализовать инициализацию как-то как следующий код:
QAxObject* excel;//excel pointer
void initExcel(){
try
{
//if there excel process already running try to use it
}
//catch if it not running
catch()
{
try
{
excel = new QAxObject("Excel.Application");
}
catch
{
//meassge if excel not exist/can't start
}
}
}
Как я мог поймать/выбросить ошибки с помощью QAxObject? Я попытался это сделать, но не нашел exapmlpe
Чтобы узнать, загружен ли элемент управления ActiveX, вы должны использовать результат метода setControl. Чтобы поймать исключения управления ActiveX, вы должны подключиться к сигналу исключения.
bool controlLoaded = axWidget->setControl("Word.Document");
if (!controlLoaded)
{
// Message about control didn't load
}
else
{
// Control loaded OK; connecting to catch exceptions from control
connect(
axWidget,
SIGNAL(exception(int, const QString &, const QString &, const QString &)),
this,
SLOT(onAxWidgetException(int, const QString &, const QString &, const QString &)));
}