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


ChartSheet.GetChartElement Метод (2007 System)

Обновлен: Ноябрь 2007

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

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

Синтаксис

'Декларация
Public Sub GetChartElement ( _
    x As Integer, _
    y As Integer, _
    ByRef ElementID As Integer, _
    ByRef Arg1 As Integer, _
    ByRef Arg2 As Integer _
)
'Применение
Dim instance As ChartSheet
Dim x As Integer
Dim y As Integer
Dim ElementID As Integer
Dim Arg1 As Integer
Dim Arg2 As Integer

instance.GetChartElement(x, y, ElementID, _
    Arg1, Arg2)
public 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

Отсутствует

Отсутствует

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

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

PivotFieldIndex

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

PointIndex

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

SeriesIndex

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

ShapeIndex

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

TrendlineIndex

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

Требования к использованию

Метод GetChartElement не работает, если для атрибута ExcelLocale1033Attribute в проекте установлено значение true (используется по умолчанию). Если атрибут ExcelLocale1033Attribute имеет значение true, необходимо выполнить следующие действия.

  • Необходимо вызвать метод GetChartElement базового элемента управления Microsoft.Office.Interop.Excel.Chart, но не ведущего элемента Microsoft.Office.Tools.Excel.ChartSheet.

  • Вам необходимо использовать метод Unwrap на базовом объекте Microsoft.Office.Interop.Excel.Chart перед вызовом GetChartElement.

    Метод Unwrap изменяет этот объект так, что он передает объектной модели Excel код языка текущего потока вместо кода языка 1033.

В следующем примере кода демонстрируется использование метода GetChartElement в случае, когда атрибут ExcelLocale1033Attribute имеет значение true. Дополнительные сведения об атрибуте ExcelLocale1033Attribute и методе Unwrap см. в разделе Форматирование данных в Excel при помощи различных региональных параметров.

Примеры

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

8w5bxx3d.alert_note(ru-ru,VS.90).gifПримечание.

В этом примере предполагается, что атрибутом ExcelLocale1033Attribute (по умолчанию) является true. Если атрибут ExcelLocale1033Attribute имеет значение false, можно вызвать метод GetChartElement ведущего элемента Microsoft.Office.Tools.Excel.ChartSheet, и пользоваться методом Unwrap нет необходимости. Дополнительные сведения см. в подразделе "Примечания" данного раздела.

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

    Me.SetSourceData(Globals.Sheet1.Range("A1", "B5"), _
        Excel.XlRowCol.xlColumns)
    Me.ChartType = Excel.XlChartType.xlColumnClustered
End Sub

Sub ChartSheet_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, _
    ByVal x As Integer, ByVal y As Integer) Handles Me.MouseDown

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

    Dim innerChart As Excel.Chart = CType( _
        Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Unwrap( _
        Me.InnerObject), Excel.Chart)

    innerChart.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 void DisplayChartElement()
{
    Globals.Sheet1.Range["A1", "A5"].Value2 = 22;
    Globals.Sheet1.Range["B1", "B5"].Value2 = 55;

    this.SetSourceData(Globals.Sheet1.Range["A1", "B5"],
        Excel.XlRowCol.xlColumns);
    this.ChartType = Excel.XlChartType.xlColumnClustered;

    this.MouseDown +=
        new Excel.ChartEvents_MouseDownEventHandler(ChartSheet_MouseDown);
}

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

    Excel.Chart innerChart = (Excel.Chart)Microsoft.Office.Tools.
        Excel.ExcelLocale1033Proxy.Unwrap(this.InnerObject);

    innerChart.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());
}

Разрешения

См. также

Ссылки

ChartSheet Класс

ChartSheet - члены

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