Adım adım kılavuz: NamedRange denetimi olaylarına karşı programla

Bu kılavuzda, Microsoft Office Excel çalışma sayfasındaki geliştirme araçlarını kullanarak Microsoft Office Excel çalışma sayfasına NamedRange ve programlarına denetim Office nasıl Visual Studio.

**** Uygulama alanı:- Bu konu başlığı altındaki bilgiler, Excel için belge düzeyindeki projelere yöneliktir. Daha fazla bilgi için bkz. Office uygulaması ve proje türü tarafından kullanılabilen özellikler.

Bu kılavuzda şunları yapmayı öğrenirsiniz:

  • Çalışma sayfasına NamedRange denetim ekleme.

  • Denetim olaylarına NamedRange karşı programla.

  • Projenizi test etmek.

Not

Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Sahip olduğunuz Visual Studio sürümü ve kullandığınız ayarlar bu öğeleri belirler. Daha fazla bilgi için bkz. IDE'Visual Studio kişiselleştirme.

Önkoşullar

Bu izlenecek yolu tamamlamak için aşağıdaki bileşenlere ihtiyacınız vardır:

Proje oluşturma

Bu adımda, Excel kullanarak Visual Studio.

Yeni proje oluşturmak için

  1. My Named Range Events Excel adlı bir Çalışma Kitabı projesi oluşturun. Yeni belge oluştur'ın seçili olduğundan emin olun. Daha fazla bilgi için, bkz. How to: Create Office projects in Visual Studio.

    Visual Studio tasarımcıda yeni Excel çalışma kitabını açar ve Adlandırılmış Aralık Olaylarım projesini Çözüm Gezgini.

Çalışma sayfasına metin ve adlandırılmış aralık ekleme

Konak denetimleri nesnelere Office, bunları belgenize yerel nesneyi eklerken olduğu gibi ekleyebilirsiniz. Örneğin, Ekle menüsünü açarak Excel üzerine gelin ve Tanımla'ya seçerek çalışma sayfasına bir çalışma NamedRange sayfası denetimi ekleyebilirsiniz. Bir denetimi Araç NamedRange Kutusundan çalışma sayfasına sürükleyerek de ekleyebilirsiniz.

Bu adımda, Araç Kutusunu kullanarak çalışma sayfasına iki adlandırılmış aralık denetimi ekecek ve ardından çalışma sayfasına metin eksersiniz.

Çalışma sayfanıza aralık eklemek için

  1. Adlandırılmış Aralığım çalışma Events.xlsx çalışma kitabının, Visual Studio açık olduğunu Sheet1 doğrulayın.

  2. Araç kutusunun Excel Denetimler sekmesinden, bir denetimi içinde NamedRange A1 hücresine Sheet1 sürükleyin.

    Add NamedRange Control iletişim kutusu görüntülenir.

  3. Düzenlenebilir $A kutusunda 1 ABD Doları'nın görüntülendiğinden ve A1 hücresi seçildiğinden emin olun. Yoksa, seçmek için A1 hücresine tıklayın.

  4. Tamam'a tıklayın.

    A1 hücresi adlı bir aralık haline namedRange1 gelir. Çalışma sayfasında görünür bir gösterge yoktur, ancak A1 hücresi seçildiğinde Ad kutusunda (sol tarafta çalışma sayfasının hemen üzerinde namedRange1 bulunur) görünür.

  5. NamedRangeB3 hücresine başka bir denetim ekleyin.

  6. Düzenlenebilir $B kutusunda 3 ABD Doları'nın görüntülendiğinden ve B3 hücresi seçildiğinden emin olun. Yoksa, seçmek için B3 hücresine tıklayın.

  7. Tamam'a tıklayın.

    B3 hücresi adlı bir aralık haline namedRange2 gelir.

Çalışma sayfanıza metin eklemek için

  1. A1 Hücresi'ne aşağıdaki metni yazın:

    Bu bir NamedRange denetimi örneğidir.

  2. A3 Hücresi'ne (sol namedRange2 tarafta) aşağıdaki metni yazın:

    Olay:

    Aşağıdaki bölümlerde , ve olaylarına yanıt olarak denetimin özelliklerini değiştiren ve içine metin ekleyen namedRange2 namedRange2 kod BeforeDoubleClick Change SelectionChange yazacak. namedRange1

BeforeDoubleClick olayına yanıt vermek için kod ekleme

BeforeDoubleClick olayına göre NamedRange2 içine metin eklemek için

  1. Bu Çözüm Gezgini, Sayfa1.vb veya Sheet1.cs'ye sağ tıklayın ve Kodu Görüntüle'yi seçin.

  2. Olay işleyicisi namedRange1_BeforeDoubleClick aşağıdaki gibi görünüyor olacak şekilde kod ekleyin:

    private void namedRange1_BeforeDoubleClick(
        Microsoft.Office.Interop.Excel.Range Target, ref bool Cancel)
    {
        this.namedRange2.Value2 = "The BeforeDoubleClick event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
        this.namedRange2.Font.Italic = true;
    }
    
    Private Sub NamedRange1_BeforeDoubleClick( _
        ByVal Target As Microsoft.Office.Interop.Excel.Range, ByRef Cancel As Boolean) _
        Handles NamedRange1.BeforeDoubleClick
    
        With Me.NamedRange2
            .Value2 = "The BeforeDoubleClick event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
            .Font.Italic = True
        End With
    End Sub
    
  3. C# içinde, aşağıdaki olayda gösterildiği gibi adlandırılmış aralık için olay işleyicileri Startup eklemeniz gerekir. Olay işleyicileri oluşturma hakkında daha fazla bilgi için bkz. Nasıl oluşturulur: Office projelerinde olay işleyicileri oluşturma.

    this.namedRange1.BeforeDoubleClick += new Microsoft.Office.Interop.Excel.
        DocEvents_BeforeDoubleClickEventHandler(namedRange1_BeforeDoubleClick);   
    
    this.namedRange1.Change += new Microsoft.Office.Interop.Excel.
        DocEvents_ChangeEventHandler(namedRange1_Change);
    
    this.namedRange1.SelectionChange +=new Microsoft.Office.Interop.Excel.
        DocEvents_SelectionChangeEventHandler(namedRange1_SelectionChange);
    

Değişiklik olayına yanıt vermek için kod ekleme

Change olayına göre namedRange2 içine metin eklemek için

  1. Olay işleyicisi NamedRange1_Change aşağıdaki gibi görünüyor olacak şekilde kod ekleyin:

    private void namedRange1_Change(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The Change event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue);
        this.namedRange2.Font.Italic = false;
    }
    
    Private Sub NamedRange1_Change(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.Change
    
        With Me.NamedRange2
            .Value2 = "The Change event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue)
            .Font.Italic = False
        End With
    End Sub
    

    Not

    Excel aralığındaki bir hücreye çift tıklarsanız düzenleme moduna girebilirsiniz. Metinde değişiklik olsa bile seçim aralığın dışına taşındığında bir Change olay oluşur.

SelectionChange olayına yanıt vermek için kod ekleme

SelectionChange olayına göre namedRange2 içine metin eklemek için

  1. Olay işleyicisini NamedRange1_SelectionChange şekilde görünen kod ekleyin:

    private void namedRange1_SelectionChange(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The SelectionChange event occurred.";
        this.namedRange2.AddComment("SelectionChange always occurs before BeforeDoubleClick.");
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
    }
    
    Private Sub NamedRange1_SelectionChange(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.SelectionChange
    
        With Me.NamedRange2
            .Value2 = "The SelectionChange event occurred."
            .AddComment("SelectionChange always occurs before BeforeDoubleClick.")
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black)
        End With
    End Sub
    

    Not

    Bir aralıkta bir hücreye çift Excel seçimin aralıkta hareket etmesine neden olduğundan, olay oluşmadan önce SelectionChange BeforeDoubleClick bir olay oluşur.

Uygulamayı test edin

Artık çalışma kitabınızı test etmek için denetim olaylarını açıklayan metnin olaylar ıldığında başka bir adlandırılmış NamedRange araca ekli olduğunu doğrularsınız.

Belgenizi test etmek için

  1. Projenizi çalıştırmak için F5 tuşuna basın.

  2. İmlecinizi namedRange1 içine yerleştirerek olayla ilgili metnin SelectionChange ekli olduğunu ve çalışma sayfasına bir açıklama ekli olduğunu doğrulayın.

  3. öğesinin içine namedRange1 çift tıklayın ve olaylarla ilgili metnin içine BeforeDoubleClick kırmızı italik metin ekli olduğunu namedRange2 doğrulayın.

  4. öğesinin dışına tıklayın ve metinde değişiklik yapılmış olsa bile düzenleme modundan çıkılıyorsa değişiklik olayı namedRange1 oluştuğuna dikkat edin.

  5. içindeki metni namedRange1 değiştirme.

  6. öğesinin dışına namedRange1 tıklayın ve olayla ilgili metnin Change içine mavi metin ile ekli olduğunu namedRange2 doğrulayın.

Sonraki adımlar

Bu kılavuz, bir denetimin olaylarına karşı programlamanın temellerini NamedRange gösterir. Bir sonraki görev şu şekilde olabilir:

Ayrıca bkz.