删除 Excel sheet 随机失败

Delete Excel sheet randomly fails

我正在尝试通过 C++ 代码删除 Excel sheet 但随机失败。 这是代码:

HRESULT hr = AutoWrap(DISPATCH_METHOD, NULL, pXlSheet, L"Delete", 0);

此函数 returns S_OK 甚至删除 sheet 失败,但 sheet 并未从工作簿中删除。

注意:如果删除sheet失败,系统会报错。

出现这个错误是因为在删除sheets时有时会出现警告提示甚至删除空sheet。

为了抑制警告提示,我使用了下面的代码片段并且效果很好。

代码片段:

VARIANT vBool;
vBool.vt=VT_BOOL;
vBool.boolVal=FALSE;

hr = AutoWrap(DISPATCH_PROPERTYPUT, NULL, _pXlApp, L"DisplayAlerts",1,vBool);

这个方法returnsS_OK:)