İzlenecek yol: NamedRange denetiminin olaylarına karşı program

Şunlar için geçerlidir:yesnoVisual Studio Mac için Visual Studio noVisual Studio Code

Bu kılavuzda, Visual Studio'da Office geliştirme araçlarını kullanarak bir Microsoft Office Excel çalışma sayfasına denetim ekleme ve olaylara karşı program oluşturma NamedRange işlemleri gösterilmektedir.

Şunlar için geçerlidir: Bu konudaki bilgiler Excel için belge düzeyi projeler için geçerlidir. Daha fazla bilgi için bkz. Office uygulama ve proje türüne göre kullanılabilen özellikler.

Bu kılavuzda şunların nasıl yapılacağını öğreneceksiniz:

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

  • Denetim olaylarına karşı NamedRange program.

  • Projenizi test edin.

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. Visual Studio IDE'yi 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, Visual Studio kullanarak bir Excel çalışma kitabı projesi oluşturacaksınız.

Yeni proje oluşturmak için

  1. Adlandırılmış Aralığım Olayları adlı bir Excel Çalışma Kitabı projesi oluşturun. Yeni belge oluştur'un seçili olduğundan emin olun. Daha fazla bilgi için bkz. Nasıl yapılır: Visual Studio'da Office projeleri oluşturma.

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

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

Konak denetimleri nesneler Office genişletildiğinden, bunları yerel nesneyi eklediğiniz şekilde belgenize ekleyebilirsiniz. Örneğin, Ekle menüsünü açıp Ad'ın üzerine gelip Tanımla'yı seçerek çalışma sayfasına bir Excel NamedRange denetimi ekleyebilirsiniz. Denetimi Araç Kutusu'ndan çalışma sayfasına sürükleyerek de ekleyebilirsinizNamedRange.

Bu adımda, Araç Kutusu'nu kullanarak çalışma sayfasına iki adlandırılmış aralık denetimi ekleyecek ve ardından çalışma sayfasına metin ekleyacaksınız.

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

  1. Adlandırılmış Aralığım Events.xlsx çalışma kitabının Visual Studio tasarımcısında açık olduğunu ve Sheet1 görüntülendiğini doğrulayın.

  2. Araç Kutusu'nun Excel Denetimler sekmesinden, içindeki A1Sheet1hücresine bir NamedRange denetim sürükleyin.

    NamedRange Denetimi Ekle iletişim kutusu görüntülenir.

  3. Düzenlenebilir metin kutusunda $A$1 değerinin göründüğünü ve A1 hücresinin seçili olduğunu doğrulayın. Değilse, seçmek için A1 hücresine tıklayın.

  4. Tamam'a tıklayın.

    A1 hücresi adlı namedRange1bir aralığa dönüşür. Çalışma sayfasında görünür bir gösterge yoktur, ancak namedRange1A1 hücresi seçildiğinde Ad kutusunda (sol taraftaki çalışma sayfasının hemen üstünde bulunur) görünür.

  5. B3 hücresine başka bir NamedRange denetim ekleyin.

  6. Düzenlenebilir metin kutusunda $B$3 değerinin göründüğünü ve B3 hücresinin seçili olduğunu doğrulayın. Değilse, seçmek için B3 hücresine tıklayın.

  7. Tamam'a tıklayın.

    B3 hücresi adlı namedRange2bir aralığa dönüşür.

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

  1. A1 Hücresine aşağıdaki metni yazın:

    Bu bir NamedRange denetimi örneğidir.

  2. A3 Hücresinde (öğesinin namedRange2solunda) aşağıdaki metni yazın:

    Olay:

    Aşağıdaki bölümlerde içine metin namedRange2 ekleyen ve denetimin namedRange2 özelliklerini , ve SelectionChange olaylarına namedRange1yanıt olarak BeforeDoubleClickChangedeğiştiren kod yazacaksınız.

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

BeforeDoubleClick olayını temel alarak NamedRange2'ye metin eklemek için

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

  2. Olay işleyicisinin namedRange1_BeforeDoubleClick aşağıdaki gibi görünmesi için 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;
    }
    
  3. C# dilinde, aşağıdaki olayda Startup gösterildiği gibi adlandırılmış aralık için olay işleyicileri eklemeniz gerekir. Olay işleyicileri oluşturma hakkında bilgi için bkz. Nasıl yapılır: 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);
    

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

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

  1. Olay işleyicisinin NamedRange1_Change aşağıdaki gibi görünmesi için 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;
    }
    

    Not

    Excel aralığındaki bir hücreye çift tıklandığında düzenleme moduna girildiğinden, metinde hiçbir değişiklik olmasa 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'ye metin eklemek için

  1. NamedRange1_SelectionChange olay işleyicisinin aşağıdaki gibi görünmesi için 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);
    }
    

    Not

    Excel aralıktaki bir hücreye çift tıklanması seçimin aralığa taşınmasına neden olduğundan, olay gerçekleşmeden önce BeforeDoubleClick bir SelectionChange olay gerçekleşir.

Uygulamayı test edin

Artık bir denetimin olaylarını açıklayan metnin olaylar tetiklendiğinde başka bir NamedRange adlandırılmış aralığa eklendiğini doğrulamak için çalışma kitabınızı test edebilirsiniz.

Belgenizi test etmek için

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

  2. İmlecinizi içine namedRange1yerleştirin ve olayla ilgili SelectionChange metnin eklendiğini ve çalışma sayfasına bir açıklama eklendiğini doğrulayın.

  3. içine namedRange1çift tıklayın ve olaylarla ilgili BeforeDoubleClick metnin içine namedRange2kırmızı italik metin eklendiğini doğrulayın.

  4. dışında öğesine namedRange1 tıklayın ve metinde değişiklik yapılmamış olsa bile düzenleme modundan çıkıldığında değişiklik olayının gerçekleştiğini unutmayın.

  5. içindeki namedRange1metni değiştirin.

  6. öğesinin namedRange1dışına tıklayın ve olayla ilgili Change metnin içine mavi metinle namedRange2eklendiğini doğrulayın.

Sonraki adımlar

Bu kılavuz, bir NamedRange denetimin olaylarına karşı programlamanın temellerini gösterir. Bundan sonra gelebilecek bir görev aşağıdadır:

Ayrıca bkz.