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:
-
Microsoft Office geliştirici araçlarını içeren bir Visual Studio sürümü. Daha fazla bilgi için bkz. Office çözümleri geliştirmek için bir bilgisayarı yapılandırma.
Excel 2013 veya Excel 2010.
Proje oluşturma
Bu adımda, Excel kullanarak Visual Studio.
Yeni proje oluşturmak için
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
Adlandırılmış Aralığım çalışma Events.xlsx çalışma kitabının, Visual Studio açık olduğunu
Sheet1
doğrulayın.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.
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.
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 üzerindenamedRange1
bulunur) görünür.NamedRangeB3 hücresine başka bir denetim ekleyin.
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.
Tamam'a tıklayın.
B3 hücresi adlı bir aralık haline
namedRange2
gelir.
Çalışma sayfanıza metin eklemek için
A1 Hücresi'ne aşağıdaki metni yazın:
Bu bir NamedRange denetimi örneğidir.
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
Bu Çözüm Gezgini, Sayfa1.vb veya Sheet1.cs'ye sağ tıklayın ve Kodu Görüntüle'yi seçin.
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
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
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
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
Projenizi çalıştırmak için F5 tuşuna basın.
İ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.öğesinin içine
namedRange1
çift tıklayın ve olaylarla ilgili metnin içine BeforeDoubleClick kırmızı italik metin ekli olduğununamedRange2
doğrulayın.öğ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.içindeki metni
namedRange1
değiştirme.öğesinin dışına
namedRange1
tıklayın ve olayla ilgili metnin Change içine mavi metin ile ekli olduğununamedRange2
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:
- Projeyi dağıtma. Daha fazla bilgi için bkz. Bir Office dağıtma.
Ayrıca bkz.
- Konak öğelerine ve konak denetimlerine genel bakış
- Genişletilmiş Excel kullanarak nesneleri otomatikleştirme
- NamedRange denetimi
- Nasıl olur: NamedRange denetimlerini yeniden boyutlandırma
- Nasıl ekleyebilirsiniz: Çalışma sayfalarına NamedRange denetimleri ekleme
- Konak öğelerinin ve konak denetimlerinin programlı sınırlamaları
- Nasıllı: Projelerde olay Office oluşturma