NamedRange.Change 事件
在 NamedRange 控制項變更時發生。
命名空間: Microsoft.Office.Tools.Excel
組件: Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)
語法
'宣告
Event Change As DocEvents_ChangeEventHandler
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 NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
Globals.ThisAddIn.Application.ActiveSheet
Dim vstoWorksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(NativeWorksheet)
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 =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook.Worksheets[1]);
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.");
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。