Share via


NamedRange.Change-Ereignis

Tritt auf, wenn Änderungen im NamedRange-Steuerelement auftreten.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Syntax

'Declaration
Event Change As DocEvents_ChangeEventHandler
event DocEvents_ChangeEventHandler Change

Hinweise

Das Ereignis wird ausgelöst, wenn das NamedRange-Steuerelement entweder durch eine programmgesteuerte Änderung oder durch eine Benutzerinteraktion geändert wird. Dieses Ereignis tritt nicht auf, wenn sich Zellen in einem NamedRange-Steuerelement während einer Neuberechnung ändern.

Beispiele

Im folgenden Codebeispiel werden ein NamedRange und ein Change-Ereignishandler erstellt. Zum Auslösen des Change-Ereignisses müssen Sie einer Zelle im NamedRange Text hinzufügen und die EINGABETASTE drücken.

Diese Version bezieht sich auf eine Anpassung auf Dokumentebene.

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

Diese Version bezieht sich auf ein Add-In auf Anwendungsebene.

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-Sicherheit

Siehe auch

Referenz

NamedRange Schnittstelle

Microsoft.Office.Tools.Excel-Namespace