COM Исключение (код 0x800a03ec), брошенные при программе разрывов страницы в VB.Net

StackOverflow https://stackoverflow.com/questions/3815544

  •  26-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать VB.NET Excel Com Interop, чтобы программно изменить местоположение первой горизонтальной страницы разрыва на электронную таблицу Excel, создаваемая программой. Код для этого выглядит следующим образом:

    Dim range As Excel.Range
    xlActualWS.Activate()
    xlActualWS.PageSetup.PrintArea = "$A$1:$K$68"
    range = xlActualWS.Range("A68", "A68")
    xlActualWS.HPageBreaks(1).Location = range
    System.Runtime.InteropServices.Marshal.ReleaseComObject(range)

На линии установки HPagebreaks COM Code Code Code 0x800A03EC бросается, и я не могу найти вещь, связанную с этим поиском. У кого-нибудь есть идеи, что мне не хватает здесь?

Это было полезно?

Решение

На основании кода, похоже, что либо расположение перерыва страниц, не может быть установлено или что есть 0 разрыва страниц и, следовательно, вы получаете доступ к недействительному индексу. Быстрый способ проверить это - сделать следующее

  • Проверьте свойство Count On xlActualWS.HPageBreaks и посмотрим, сколько доступны
  • Удалите набор свойств расположения и посмотрите, передается ли ошибка

Кроме того, вы, вероятно, должны удалить ReleaseComObject вызов. Это очень сложное API, чтобы исправить, и CLR довольно хорош в уборке ссылок COM объекта на его собственной.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top