Исходя из кода, похоже, что нельзя установить местоположение разрыва страницы или что имеется 0 разрывов страницы, и, следовательно, вы получаете доступ к недопустимому индексу. Быстрый способ проверить это - сделать следующее:
- Проверьте свойство Count на
xlActualWS.HPageBreaks
и посмотрите, сколько доступно
- Удалите набор свойства Location и посмотрите, исчезает ли ошибка
Кроме того, вам, вероятно, следует удалить вызов ReleaseComObject
. Это очень сложный API, чтобы его исправить, и CLR достаточно хорош для очистки ссылок на COM-объекты самостоятельно.