NamedRange.Change 事件 (2007 系統)

更新: 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.");
}

使用權限

請參閱

參考

NamedRange 類別

NamedRange 成員

Microsoft.Office.Tools.Excel 命名空間

變更記錄

日期

記錄

原因

2008 年 7 月

加入應用程式層級增益集的程式碼範例版本。

SP1 功能變更。