Я пытаюсь удалить лист Excel с помощью кода C ++, но случайно это не удается.
Вот код:
HRESULT hr = AutoWrap(DISPATCH_METHOD, NULL, pXlSheet, L"Delete", 0);
Эта функция возвращает S_OK
даже удалить лист не удалось, но лист не удален из рабочей книги.
Примечание. Система выдает звуковой сигнал об ошибке, если удалить лист не удалось.
Эта ошибка возникает из-за того, что при удалении листов иногда появляется предупреждение даже при удалении пустого листа.
Чтобы подавить предупреждение, я использовал приведенный ниже фрагмент, и он отлично работает.
Фрагмент кода:
VARIANT vBool;
vBool.vt=VT_BOOL;
vBool.boolVal=FALSE;
hr = AutoWrap(DISPATCH_PROPERTYPUT, NULL, _pXlApp, L"DisplayAlerts",1,vBool);
Этот метод возвращает S_OK 🙂
Других решений пока нет …