Chart.GetChartElement Method
Gets information about the chart element at specified X and Y coordinates.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
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
)
Parameters
x
Type: System.Int32The X coordinate of the chart element.
y
Type: System.Int32The Y coordinate of the chart element.
ElementID
Type: System.Int32%When the method returns, this argument contains the XlChartItem value of the chart element at the specified coordinates. For more information, see the "Remarks" section.
Arg1
Type: System.Int32%When the method returns, this argument contains information related to the chart element. For more information, see the "Remarks" section.
Arg2
Type: System.Int32%When the method returns, this argument contains information related to the chart element. For more information, see the "Remarks" section.
Remarks
This method is unusual in that you specify values for only the first two arguments. Microsoft Office Excel fills in the other arguments, and your code should examine those values when the method returns.
The value of ElementID after the method returns determines whether Arg1 and Arg2 contain any information, as shown in the following table.
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 |
The following table describes the meaning of Arg1 and Arg2 after the method returns.
Argument |
Description |
---|---|
AxisIndex |
Specifies whether the axis is primary or secondary. Can be one of the following XlAxisGroup constants: xlPrimary or xlSecondary. |
AxisType |
Specifies the axis type. Can be one of the following XlAxisType constants: xlCategory, xlSeriesAxis, or xlValue. |
DropZoneType |
Specifies the drop zone type: column, data, page, or row field. Can be one of the following XlPivotFieldOrientation constants: xlColumnField, xlDataField, xlPageField, or xlRowField. The column and row field constants specify the series and category fields, respectively. |
GroupIndex |
Specifies the offset within the ChartGroups collection for a specific chart group. |
PivotFieldIndex |
Specifies the offset within the PivotFields collection for a specific column (series), data, page, or row (category) field. -1 if the drop zone type is xlDataField. |
PointIndex |
Specifies the offset within the Points collection for a specific point within a series. A value of – 1 indicates that all data points are selected. |
SeriesIndex |
Specifies the offset within the Series collection for a specific series. |
ShapeIndex |
Specifies the offset within the Shapes collection for a specific shape. |
TrendlineIndex |
Specifies the offset within the Trendlines collection for a specific trendline within a series. |
Examples
The following code example creates a Microsoft.Office.Tools.Excel.Chart and then uses the GetChartElement method to display the chart element when a user clicks the chart.
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 Security
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.