更新: 2008 年 7 月
在 NamedRange 控件内部的所选内容更改时发生。
命名空间:  Microsoft.Office.Tools.Excel
程序集:  Microsoft.Office.Tools.Excel.v9.0(在 Microsoft.Office.Tools.Excel.v9.0.dll 中)
语法
声明
Public Event SelectionChange As DocEvents_SelectionChangeEventHandler
用法
Dim instance As NamedRange
Dim handler As DocEvents_SelectionChangeEventHandler
AddHandler instance.SelectionChange, handler
public event DocEvents_SelectionChangeEventHandler SelectionChange
备注
当所选内容更改到 NamedRange 控件或者在该控件内所选内容更改时,将引发此事件。
示例
下面的代码示例演示 SelectionChange 事件的处理程序,该事件显示在 NamedRange 中选择的单元格的地址。
此版本针对的是文档级自定义项。
Private selectionChangeRange As Microsoft.Office.Tools.Excel.NamedRange
Private Sub DisplaySelectionChange()
    selectionChangeRange = Me.Controls.AddNamedRange( _
        Me.Range("A1", "E5"), "selectionChangeRange")
    AddHandler Me.selectionChangeRange.SelectionChange, _
        AddressOf selectionChangeRange_SelectionChange
End Sub
Sub selectionChangeRange_SelectionChange(ByVal Target As _
    Microsoft.Office.Interop.Excel.Range)
    Dim selectedRange As String = Target.Address(, , _
        Excel.XlReferenceStyle.xlA1, , )
    MessageBox.Show(Me.Name & ": " & selectedRange & _
        " raised the SelectionChange event.")
End Sub
Microsoft.Office.Tools.Excel.NamedRange selectionChangeRange;
private void DisplaySelectionChange()
{
    selectionChangeRange = this.Controls.AddNamedRange(
        this.Range["A1", "E5"], "selectionChangeRange");
    this.selectionChangeRange.SelectionChange += new 
        Microsoft.Office.Interop.Excel.
        DocEvents_SelectionChangeEventHandler(
        selectionChangeRange_SelectionChange);
}
void selectionChangeRange_SelectionChange(
    Microsoft.Office.Interop.Excel.Range Target)
{
    string selectedRange = Target.get_Address(missing, missing,
        Excel.XlReferenceStyle.xlA1, missing, missing);
    MessageBox.Show(this.Name + ": " + selectedRange + 
        " raised the SelectionChange event.");
}
此版本针对的是应用程序级外接程序。
Private selectionChangeRange As NamedRange
Private Sub DisplaySelectionChange()
    Dim vstoWorksheet As Worksheet = CType( _
        Me.Application.ActiveWorkbook.Worksheets(1),  _
        Excel.Worksheet).GetVstoObject()
    selectionChangeRange = vstoWorksheet.Controls.AddNamedRange( _
        vstoWorksheet.Range("A1", "E5"), "selectionChangeRange")
    AddHandler Me.selectionChangeRange.SelectionChange, _
        AddressOf selectionChangeRange_SelectionChange
End Sub
Sub selectionChangeRange_SelectionChange(ByVal Target As  _
    Microsoft.Office.Interop.Excel.Range)
    Dim selectedRange As String = Target.Address(, , _
        Excel.XlReferenceStyle.xlA1, , )
    System.Windows.Forms.MessageBox.Show( _
        Me.Application.ActiveWorkbook.Worksheets(1).Name & _
        ": " & selectedRange & " raised the SelectionChange event.")
End Sub
NamedRange selectionChangeRange;
private void DisplaySelectionChange()
{
    Worksheet vstoWorksheet = ((Excel.Worksheet)
        this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    selectionChangeRange = vstoWorksheet.Controls.AddNamedRange(
        vstoWorksheet.Range["A1", "E5"], "selectionChangeRange");
    this.selectionChangeRange.SelectionChange += new
        Excel.DocEvents_SelectionChangeEventHandler(
        selectionChangeRange_SelectionChange);
}
void selectionChangeRange_SelectionChange(
    Microsoft.Office.Interop.Excel.Range Target)
{
    string selectedRange = Target.get_Address(missing, missing,
        Excel.XlReferenceStyle.xlA1, missing, missing);
    Excel.Worksheet nativeWorksheet = (Excel.Worksheet)
        this.Application.ActiveWorkbook.Worksheets[1];
    System.Windows.Forms.MessageBox.Show(
        nativeWorksheet.Name + ": " + selectedRange +
        " raised the SelectionChange event.");
}
权限
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
另请参见
参考
Microsoft.Office.Tools.Excel 命名空间
修订记录
| 日期 | 修订记录 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 添加了一个针对应用程序级外接程序的代码示例版本。 | SP1 功能更改。 |