指定した X 座標および Y 座標のグラフ要素の情報を取得します。
名前空間: Microsoft.Office.Tools.Excel
アセンブリ: Microsoft.Office.Tools.Excel (microsoft.office.tools.excel.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 Chart
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
グラフ要素の X 座標です。
- y
グラフ要素の Y 座標です。
- ElementID
このメソッドから制御が戻ったとき、この引数には、指定した座標のグラフ要素の XlChartItem 値が格納されています。詳細については、「解説」を参照してください。
- Arg1
メソッドから制御が戻ったとき、この引数には、グラフ要素に関連する情報が格納されています。詳細については、「解説」を参照してください。
- Arg2
メソッドから制御が戻ったとき、この引数には、グラフ要素に関連する情報が格納されています。詳細については、「解説」を参照してください。
このメソッドは通常とは異なっており、呼び出し側で値を指定する引数は最初の 2 つだけです。他の引数は Microsoft Office Excel が値を設定します。メソッドから制御が戻ったときには、呼び出し側のコードでそれらの値をチェックする必要があります。
Arg1 と Arg2 に情報が含まれているかどうかは、メソッドから制御が戻った後の ElementID の値に応じて、次の表のように決定されます。
次の表は、メソッドから制御が戻った後の Arg1 と Arg2 の意味を示します。
使用要件
プロジェクトで ExcelLocale1033Attribute 属性が true (既定) に設定されている場合、GetChartElement は機能しません。ExcelLocale1033Attribute 属性が true の場合は、次の手順を実行する必要があります。
このトピックのコード例では、ExcelLocale1033Attribute 属性が true の場合に GetChartElement を使用する方法を示します。ExcelLocale1033Attribute および Unwrap メソッドの詳細については、「さまざまな地域設定を使用した Excel のデータの書式設定」を参照してください。
次のコード例は、Microsoft.Office.Tools.Excel.Chart を作成し、次に GetChartElement メソッドを使用してユーザーがグラフをクリックしたときにグラフ要素を表示します。
メモ |
|---|
| このコード例では、ExcelLocale1033Attribute 属性が true (既定) であることを前提としています。ExcelLocale1033Attribute 属性が false の場合は、Microsoft.Office.Tools.Excel.Chart ホスト コントロールの GetChartElement メソッドを呼び出すことができます。Unwrap メソッドを使用する必要はありません。詳細については、このトピックの「解説」を参照してください。 |
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
Dim innerChart As Excel.Chart = CType( _
Microsoft.Office.Tools.Excel.ExcelLocale1033Proxy.Unwrap( _
elementChart.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 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;
Excel.Chart innerChart = (Excel.Chart)Microsoft.Office.Tools.
Excel.ExcelLocale1033Proxy.Unwrap(elementChart.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());
}