HRESULT: 0x800A03EC на рабочем листе - PullRequest
21 голосов
/ 18 августа 2011

Я получаю HRESULT: 0x800A03EC для метода Worksheet.range.Количество рядов больше 70К.Office 2007.

Код:

Microsoft.Office.Interop.Excel.Range neededRange
    = currentWS.Range[cell.Cells[1, 1], cell.Cells[nRowCount, nColumnCount]];

Здесь мой счетчик строк превышает 65530.Перерывы на эту функцию.Я заметил, что он ломается только тогда, когда количество строк превышает 65530.

Ответы [ 22 ]

0 голосов
/ 06 мая 2019

Для таких, как я, у которых есть такое же исключение:

Это также может произойти, если вы попытаетесь передать нулевое значение вместо Missing.Value (или Type.Missing)

, например

Worksheet worksheet = ...;
return worksheet.Range["A1", null]; //This call generates the error 0x800A03EC

return worksheet.Range["A1", Missing.Value]; //This works correctly
0 голосов
/ 18 августа 2011

РЕДАКТИРОВАТЬ: ЭТО ПУТЬ ЛУЧШЕ !!! Тебе не нужна эта старая функция, извини. Просто сделайте следующее:

Microsoft.Office.Interop.Excel.Range neededRange = currentWS.Range["A1", ((Microsoft.Office.Interop.Excel.Range)currentWS.Cells[nRowCount, nColumnCount])];

Это должно работать как шарм. И для дальнейшего использования, поместите соответствующий код, который вы используете, внутри вашего вопроса. Не заставляйте людей просить об этом в комментариях. Я полагаю, именно поэтому вы получили отрицательный голос.

...