我想使用 QAxObject
来处理 Excel 文件。
我想像下面的代码一样以某种方式实现初始化:
QAxObject* excel;//excel pointer
void initExcel(){
try
{
//if there excel process already running try to use it
}
//catch if it's 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 &)));
}
关于c++ - 如何使用 QAxObject 捕获/抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19442177/