Aracılığıyla paylaş


İ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:

Projeyi Oluşturma

Visual Studio'da yeni Excel eklenti projesi yaratmak

  1. Visual Studio uygulamasını başlatın.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklatın.

  3. Şablonlar bölmesinde genişletin Visual C# veya Visual Basicve sonra genişletin Office/SharePoint.

  4. Genişletilmiş altında Office/SharePoint düğümü, select Office eklentileri düğümü.

  5. Proje şablonları listesinde Excel 2010 Eklentisi'ni ya da Excel 2013 Eklentisi'ni seçin.

  6. Ad metin kutusuna FirstExcelAddIn yazın.

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

  1. 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";
    }
    
  2. 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:

Projeyi Test Etme

Projeyi test etmek için

  1. 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.

  2. Excel'de çalışma kitabını kaydedin.

  3. Aşağıdaki metnin çalışma kitabına ekli olduğunu doğrulayın.

    Bu metin kod kullanılarak eklenmiştir.

  4. 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:

Ayrıca bkz.

Kavramlar

Office Çözümleri Geliştirmesine Genel Bakış

Diğer Kaynaklar

Excel Çözümleri

Uygulama Düzeyi Eklentileri Programlama

Excel Nesne Modeline Genel Bakış

Office Kullanıcı Arabirimini Özelleştirme

Office Çözümleri Oluşturma

Office Çözümünü Dağıtma

Office Proje Şablonlarına Genel Bakış