Поделиться через


Chart.GetChartElement - метод

Возвращает информацию об элементе диаграммы, находящегося в точке, заданной координатами X и Y.

Пространство имен:  Microsoft.Office.Tools.Excel
Сборка:  Microsoft.Office.Tools.Excel (в Microsoft.Office.Tools.Excel.dll)

Синтаксис

'Декларация
Sub GetChartElement ( _
    x As Integer, _
    y As Integer, _
    ByRef ElementID As Integer, _
    ByRef Arg1 As Integer, _
    ByRef Arg2 As Integer _
)
void GetChartElement(
    int x,
    int y,
    ref int ElementID,
    ref int Arg1,
    ref int Arg2
)

Параметры

  • x
    Тип: System.Int32
    Координата X элемента диаграммы.
  • y
    Тип: System.Int32
    Координата Y элемента диаграммы.
  • ElementID
    Тип: System.Int32%
    По завершении выполнения метода этот аргумент содержит значение XlChartItem элемента диаграммы, находящегося по указанным координатам.Дополнительные сведения см. в разделе "Замечания".
  • Arg1
    Тип: System.Int32%
    По завершении выполнения этого метода данный аргумент содержит информацию, связанную с элементом диаграммы.Дополнительные сведения см. в разделе "Замечания".
  • Arg2
    Тип: System.Int32%
    По завершении выполнения этого метода данный аргумент содержит информацию, связанную с элементом диаграммы.Дополнительные сведения см. в разделе "Замечания".

Заметки

Необычность этого метода заключается в том, что необходимо указывать значения только для первых двух аргументов. Microsoft Office Excel автоматически присваивает значения остальным аргументам, которые должны проверяться в коде по завершении выполнения метода.

Значение аргумента ElementID по завершении выполнения метода определяет, содержат ли аргументы Arg1 и Arg2 какую-либо информацию, как показано в приведенной ниже таблице.

ElementID

Arg1

Arg2

xlAxis

AxisIndex

AxisType

xlAxisTitle

AxisIndex

AxisType

xlDisplayUnitLabel

AxisIndex

AxisType

xlMajorGridlines

AxisIndex

AxisType

xlMinorGridlines

AxisIndex

AxisType

xlPivotChartDropZone

DropZoneType

Нет

xlPivotChartFieldButton

DropZoneType

PivotFieldIndex

xlDownBars

GroupIndex

Нет

xlDropLines

GroupIndex

Нет

xlHiLoLines

GroupIndex

Нет

xlRadarAxisLabels

GroupIndex

Нет

xlSeriesLines

GroupIndex

Нет

xlUpBars

GroupIndex

Нет

xlChartArea

Нет

Нет

xlChartTitle

Нет

Нет

xlCorners

Нет

Нет

xlDataTable

Нет

Нет

xlFloor

Нет

Нет

xlLeaderLines

Нет

Нет

xlLegend

Нет

Нет

xlNothing

Нет

Нет

xlPlotArea

Нет

Нет

xlWalls

Нет

Нет

xlDataLabel

SeriesIndex

PointIndex

xlErrorBars

SeriesIndex

Нет

xlLegendEntry

SeriesIndex

Нет

xlLegendKey

SeriesIndex

Нет

xlSeries

SeriesIndex

PointIndex

xlShape

ShapeIndex

Нет

xlTrendline

SeriesIndex

TrendLineIndex

xlXErrorBars

SeriesIndex

Нет

xlYErrorBars

SeriesIndex

Нет

В следующей таблице поясняется значение аргументов Arg1 и Arg2 после завершения выполнения метода.

Аргумент

Описание

AxisIndex

Определяет ось как основную или дополнительную. Может быть одной из следующих констант XlAxisGroup: xlPrimary или xlSecondary.

AxisType

Определяет тип оси. Может принимать значение одной из следующих констант: XlAxisType: xlCategory, xlSeriesAxis или xlValue.

DropZoneType

Определяет тип области добавления: поле столбца, данных, страницы или строки. Может быть одной из следующих констант XlPivotFieldOrientation: xlColumnField, xlDataField, xlPageField или xlRowField. Поле столбца и поле строки определяют поле ряда и поле категории соответственно.

GroupIndex

Определяет смещение внутри коллекции ChartGroups для определенной группы диаграмм.

PivotFieldIndex

Определяет смещение внутри коллекции PivotFields для определенного поля столбца (ряда), данных, страницы или строки (категории). Принимает значение -1, если область добавления имеет тип xlDataField.

PointIndex

Определяет смещение внутри коллекции Points для определенной точки в ряде. Значение -1 указывает на то, что выбраны все точки данных.

SeriesIndex

Определяет смещение внутри коллекции Series для определенного ряда.

ShapeIndex

Определяет смещение внутри коллекции Shapes для определенной фигуры.

TrendlineIndex

Определяет смещение внутри коллекции Trendlines для определенной линии тренда в пределах ряда.

Примеры

В следующем примере кода создается объект Microsoft.Office.Tools.Excel.Chart, после чего метод GetChartElement используется для отображения элемента диаграммы, когда пользователь щелкает диаграмму мышью.

WithEvents elementChart As Microsoft.Office.Tools.Excel.Chart

Private Sub DisplayChartElement()
    Globals.Sheet1.Range("A1", "A5").Value2 = 22
    Globals.Sheet1.Range("B1", "B5").Value2 = 55

    elementChart = Me.Controls.AddChart(Me.Range("D2", "H12"), _
        "elementChart")
    elementChart.SetSourceData(Globals.Sheet1.Range("A1", "B5"), _
        Excel.XlRowCol.xlColumns)
    elementChart.ChartType = Excel.XlChartType.xl3DColumn
End Sub

Sub elementChart_MouseDownHandler(ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal x As Integer, ByVal y As Integer) Handles elementChart.MouseDown

    Dim elementID As Integer = 0
    Dim arg1 As Integer = 0
    Dim arg2 As Integer = 0

    elementChart.GetChartElement(x, y, elementID, arg1, arg2)

    MsgBox("Chart element is: " & CType(elementID, Excel.XlChartItem).ToString() _
            & Constants.vbNewLine & "arg1 is: " & arg1.ToString() _
            & Constants.vbNewLine & "arg2 is: " & arg2.ToString())
End Sub
private Microsoft.Office.Tools.Excel.Chart elementChart;

private void DisplayChartElement()
{
    this.Range["A1", "A5"].Value2 = 22;
    this.Range["B1", "B5"].Value2 = 55;

    elementChart = this.Controls.AddChart(this.Range["D2", "H12"],
        "elementChart");

    elementChart.SetSourceData(this.Range["A1", "B5"],
        Excel.XlRowCol.xlColumns);
    elementChart.ChartType = Excel.XlChartType.xl3DColumn;
    elementChart.MouseDown +=
        new Excel.ChartEvents_MouseDownEventHandler(elementChart_MouseDown);
}

void elementChart_MouseDown(int Button, int Shift, int x, int y)
{
    Int32 elementID = 0;
    Int32 arg1 = 0;
    Int32 arg2 = 0;

    elementChart.GetChartElement(x, y, ref elementID, ref arg1, ref arg2);

    MessageBox.Show("Chart element is: " + ((Excel.XlChartItem)elementID).ToString()
        + "\n arg1 is: " + arg1.ToString() + "\n arg2 is: " + arg2.ToString());
}

Безопасность платформы .NET Framework

См. также

Ссылки

Chart Интерфейс

Microsoft.Office.Tools.Excel - пространство имен