ChartSheet.GetChartElement - метод
Возвращает информацию об элементе диаграммы, находящегося в точке, заданной координатами X и Y.
Пространство имен: Microsoft.Office.Tools.Excel
Сборки: Microsoft.Office.Tools.Excel.v4.0.Utilities (в Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
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 |
---|---|---|
AxisIndex |
AxisType |
|
AxisIndex |
AxisType |
|
AxisIndex |
AxisType |
|
AxisIndex |
AxisType |
|
AxisIndex |
AxisType |
|
DropZoneType |
None |
|
DropZoneType |
PivotFieldIndex |
|
GroupIndex |
None |
|
GroupIndex |
None |
|
GroupIndex |
None |
|
GroupIndex |
None |
|
GroupIndex |
None |
|
GroupIndex |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
None |
None |
|
SeriesIndex |
PointIndex |
|
SeriesIndex |
None |
|
SeriesIndex |
None |
|
SeriesIndex |
None |
|
SeriesIndex |
PointIndex |
|
ShapeIndex |
None |
|
SeriesIndex |
TrendLineIndex |
|
SeriesIndex |
None |
|
SeriesIndex |
None |
В следующей таблице поясняется значение аргументов 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 используется для отображения элемента диаграммы, когда пользователь щелкает диаграмму мышью.
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
Me.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;
this.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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.