NamedRange.Change 事件 (2007 system)
更新: 2008 年 7 月
当 NamedRange 控件中的某项内容更改时发生。
命名空间: Microsoft.Office.Tools.Excel
程序集: Microsoft.Office.Tools.Excel.v9.0(在 Microsoft.Office.Tools.Excel.v9.0.dll 中)
语法
声明
Public Event Change As DocEvents_ChangeEventHandler
用法
Dim instance As NamedRange
Dim handler As DocEvents_ChangeEventHandler
AddHandler instance.Change, handler
public event DocEvents_ChangeEventHandler Change
备注
如果通过编程修改或用户交互更改 NamedRange 控件,则将引发此事件。当 NamedRange 控件中的单元格在重新计算过程中发生更改时,不会发生此事件。
示例
下面的代码示例创建一个 NamedRange 和一个 Change 事件处理程序。若要引发 Change 事件,请向 NamedRange 中的某个单元格添加文本,然后按 Enter。
此版本针对的是文档级自定义项。
Private changesRange As Microsoft.Office.Tools.Excel.NamedRange
Private Sub NotifyChanges()
changesRange = Me.Controls.AddNamedRange( _
Me.Range("B2", "E5"), "compositeRange")
AddHandler changesRange.Change, _
AddressOf changesRange_Change
End Sub
Sub changesRange_Change(ByVal Target As Excel.Range)
Dim cellAddress As String = Target.Address(, , _
Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1, , )
MessageBox.Show("Cell " & cellAddress & " changed.")
End Sub
Microsoft.Office.Tools.Excel.NamedRange changesRange;
private void NotifyChanges()
{
changesRange = this.Controls.AddNamedRange(
this.Range["B2", "E5"], "compositeRange");
changesRange.Change += new Microsoft.Office.Interop.Excel.
DocEvents_ChangeEventHandler(changesRange_Change);
}
void changesRange_Change(Excel.Range Target)
{
string cellAddress = Target.get_Address(missing, missing,
Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1,
missing, missing);
MessageBox.Show("Cell " + cellAddress + " changed.");
}
此版本针对的是应用程序级外接程序。
Private changesRange As NamedRange
Private Sub NotifyChanges()
Dim vstoWorksheet As Worksheet = CType( _
Me.Application.ActiveWorkbook.Worksheets(1), _
Excel.Worksheet).GetVstoObject()
changesRange = vstoWorksheet.Controls.AddNamedRange( _
vstoWorksheet.Range("B2", "E5"), "compositeRange")
AddHandler changesRange.Change, _
AddressOf changesRange_Change
End Sub
Sub changesRange_Change(ByVal Target As Excel.Range)
Dim cellAddress As String = Target.Address(, , _
Excel.XlReferenceStyle.xlA1, , )
System.Windows.Forms.MessageBox.Show("Cell " & cellAddress & " changed.")
End Sub
NamedRange changesRange;
private void NotifyChanges()
{
Worksheet vstoWorksheet = ((Excel.Worksheet)
this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
changesRange = vstoWorksheet.Controls.AddNamedRange(
vstoWorksheet.Range["B2", "E5"], "compositeRange");
changesRange.Change += new Excel.DocEvents_ChangeEventHandler(
changesRange_Change);
}
void changesRange_Change(Excel.Range Target)
{
string cellAddress = Target.get_Address(missing, missing,
Excel.XlReferenceStyle.xlA1,
missing, missing);
System.Windows.Forms.MessageBox.Show("Cell " + cellAddress +
" changed.");
}
权限
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
另请参见
参考
Microsoft.Office.Tools.Excel 命名空间
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2008 年 7 月 |
添加了一个针对应用程序级外接程序的代码示例版本。 |
SP1 功能更改。 |