İzlenecek Yol: Excel İçin İlk Uygulama Düzeyi Eklentiyi Oluşturma
Bu giriş anlatımında Microsoft Office Excel için uygulama düzeyi eklentilerin nasıl oluşturulduğu gösterilir.Bu tarz çözümde oluşturduğunuz özellikler hangi çalışma kitabının açık olduğuna bağlı olmaksızın uygulamanın kendisinde kullanılabilir.
Uygulama hedefi: Bu konudaki bilgiler, Excel 2013 ve Excel 2010 için uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Bu örneklerde aşağıdaki görevler gösterilir:
Excel için bir Excel eklenti projesi oluşturma.
Kaydedildiğinde çalışma kitabına metin eklemek için Excel nesne modelini kullanan kod yazma.
Test etmek için projeyi oluşturma ve çalıştırma.
Geliştirici bilgisayarınızdaki tamamlanmış projeyi eklentinin artık otomatik olarak çalışmaması için temizleme.
[!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'da Geliştirme Ayarlarını özelleştirme.
Önkoşullar
Bu örneği tamamlamak için aşağıdaki bileşenler gerekmektedir:
Microsoft Office geliştirici araçlarını içeren bir Visual Studio 2013 sürümü. Daha fazla bilgi edinmek için, bkz. Office Çözümleri Geliştirmek İçin Bilgisayarı Yapılandırma.
Excel 2013 veya Excel 2010.
Projeyi Oluşturma
Visual Studio'da yeni Excel eklenti projesi yaratmak
Visual Studio uygulamasını başlatın.
Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklatın.
Şablonlar bölmesinde genişletin Visual C# veya Visual Basicve sonra genişletin Office/SharePoint.
Genişletilmiş altında Office/SharePoint düğümü, select Office eklentileri düğümü.
Proje şablonları listesinde Excel 2010 Eklentisi'ni ya da Excel 2013 Eklentisi'ni seçin.
Ad metin kutusuna FirstExcelAddIn yazın.
Tamam düğmesini tıklatın.
Visual Studio, FirstExcelAddIn projesini oluşturur ve ThisAddIn kod dosyasını düzenleyicide açar.
Kaydedilmiş Çalışma Kitabına Metin Eklemek İçin Kod Yazma
Sonra, kodu ThisAddIn kod dosyasına ekleyin.Yeni kod, etkin çalışma sayfasının ilk satırına ortak metin eklemek için Excel nesne modelini kullanır.Etkin çalışma sayfası, kullanıcı çalışma kitabını kaydettiğinde açık olan bir çalışma sayfasıdır.Varsayılan olarak ThisAddIn kod dosyası aşağıdaki oluşturulmuş kodu içerir:
ThisAddIn sınıfının kısmi tanımlaması.Bu sınıf kodunuz için bir giriş noktası sunar ve Excel'in nesne modeline erişim sağlar.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentileri Programlama.ThisAddIn sınıfının geri kalanı değiştirmemeniz gereken gizli bir kod dosyasında tanımlanmıştır.
ThisAddIn_Startup ve ThisAddIn_Shutdown olay işleyicileri.Bu olay işleyicileri, Excel sizin eklentinizi yüklediğinde ve kaldırdığında çağırılır.Eklentiniz yüklendiğinde eklentinizi başlatmak ve kaldırıldığında eklentinizin kullandığı kaynakları temizlemek için bu olay işleyicilerini kullanın.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.
Kaydedilmiş çalışma kitabına metnin bir satırını eklemek
ThisAddIn kod dosyasında aşağıdaki kodu ThisAddIn sınıfına ekleyin.Yeni kod, çalışma kitabı kaydedildiğinde oluşan WorkbookBeforeSave olayı için bir olay işleyicisi tanımlar.
Kullanıcı çalışma kitabını kaydettiğinde, olay işleyicisi yeni metni etkin çalışma sayfasının başlangıcına ekler.
Private Sub Application_WorkbookBeforeSave(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave Dim activeWorksheet As Excel.Worksheet = CType(Application.ActiveSheet, Excel.Worksheet) Dim firstRow As Excel.Range = activeWorksheet.Range("A1") firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown) Dim newFirstRow As Excel.Range = activeWorksheet.Range("A1") newFirstRow.Value2 = "This text was added by using code" End Sub
void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel) { Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); Excel.Range firstRow = activeWorksheet.get_Range("A1"); firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); Excel.Range newFirstRow = activeWorksheet.get_Range("A1"); newFirstRow.Value2 = "This text was added by using code"; }
C# kullanıyorsanız, ThisAddIn_Startup olay işleyicisine aşağıdaki gerekli kodu ekleyin.Bu kod Application_WorkbookBeforeSave olay işleyicisini WorkbookBeforeSave olayı ile bağlamak için kullanılır.
this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
Çalışma kitabını kaydedildiğinde değiştirmek için yukarıdaki kod örnekleri aşağıdaki nesneleri kullanır:
ThisAddIn sınıfının Application alanı.Application alanı, Excel'in geçerli örneğini gösteren Application nesnesi döner.
WorkbookBeforeSave olayı işleyicisinin Wb parametresi.Wb parametresi, kaydedilmiş çalışma kitabını temsil eden Workbook nesnesidir.Daha fazla bilgi için bkz. Excel Nesne Modeline Genel Bakış.
Projeyi Test Etme
Projeyi test etmek için
Projeyi derlemek ve çalıştırmak için F5'a basın.
Projeyi derlediğinizde kod, projenin yapı çıktı klasörüne dahil edilen bir bütünleştirilmiş koda dönüşür.Visual Studio ayrıca Excel'in eklentiyi fark edip yükleyebilmesi için kayıt girdilerinden oluşan bir küme yaratır ve eklentinin çalışabilmesi için geliştirici bilgisayarının güvenlik ayarlarını yapılandırır.Daha fazla bilgi için bkz. Office Çözümleri Oluşturma.
Excel'de çalışma kitabını kaydedin.
Aşağıdaki metnin çalışma kitabına ekli olduğunu doğrulayın.
Bu metin kod kullanılarak eklenmiştir.
Excel'i kapatın.
Projeyi Temizleme
Projeyi geliştirmeyi bitirdiğinizde eklentinin bütünleştirilmiş kodunu, kayıt girdilerini ve güvenlik ayarlarını geliştirme bilgisayarınızdan kaldırın.Aksi halde, Excel'i geliştirme bilgisayarında her açtığınızda eklenti çalışmaya devam edecektir.
Geliştirici bilgisayarınızdaki tamamlanmış projeyi temizlemek için
- Visual Studio Build (Yapı) menüsünde Clean Solution'a (Çözümü Temizle) tıklayın.
Sonraki Adımlar
Excel için temel bir uygulama düzeyi eklentisi oluşturduğunuza göre, eklentileri nasıl geliştireceğiniz hakkında daha fazlasını bu konulardan öğrenebilirsiniz:
Eklentiler kullanarak gerçekleştirebileceğiniz genel programlama görevleri: Uygulama Düzeyi Eklentileri Programlama.
Excel eklentilerine özel programlama görevleri: Excel Çözümleri.
Excel nesne modelini kullanma: Excel Nesne Modeline Genel Bakış.
Excel'in kullanıcı arayüzünü (UI) özelleştirme, örneğin, bunun Şerit'e özel bir sekme ekleme veya kendi özel görev bölmenizi oluşturma: Office Kullanıcı Arabirimini Özelleştirme.
Excel için uygulama düzeyi eklentilerde hata ayıklama ve oluşturma: Office Çözümleri Oluşturma.
Excel için uygulama düzeyi eklentileri dağıtma: Office Çözümünü Dağıtma.
Ayrıca bkz.
Kavramlar
Office Çözümleri Geliştirmesine Genel Bakış
Diğer Kaynaklar
Uygulama Düzeyi Eklentileri Programlama
Excel Nesne Modeline Genel Bakış