Почему у COMobject диаграммы p ie есть оси? - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь проверить, имеет ли каждый объект chartObject, который я повторяю, определенное свойство (оси), и если да, примените линии сетки. Что-то вроде этого, если предположить, что код будет работать:

foreach (ChartObject chartObject in chartObjects)
{
    yAxis = chartObject.Chart.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary)

    if ( yAxis != null)
    {
            yAxis.HasMajorGridlines = true; //Should enter for Line chart, not for Pie Chart
    }
}

Моя интуиция подсказывает мне, что во время итерации, когда chartObject является ap ie chart, yAxis должен быть нулевым, потому что ap ie chart не имеет ось. Однако похоже, что Axes по-прежнему является COMObject для диаграммы p ie и, следовательно, не является нулевым. Это приводит к тому, что он вводит оператор if, пытается добавить линии сетки и генерирует исключение NullReferenceException.

Спасибо, Фредрик

...