Uygulama Düzeyi Eklentileri Programlama
Uygulama düzeyi eklentisi oluşturarak Microsoft Office uygulaması genişlettiğinizde, projenizdeki ThisAddIn sınıfına karşı doğrudan kod yazarsınız.Bu sınıfı, Microsoft Office konak uygulamasının nesne modeline erişmek, uygulamanın kullanıcı arayüzünü (UI) özelleştirmek ve eklentinizdeki nesneleri diğer Office çözümlerine uygulayamak gibi görevleri gerçekleştirmek üzere bu sınıfı kullanabilirsiniz.
Uygulama hedefi: Bu konudaki bilgiler, Microsoft Office 2013 ve Microsoft Office 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.
Eklenti projelerinde kod yazmanın bazı açıları Visual Studio'daki diğer tür projelerden farklıdır.Bu farklılıkların birçoğuna Office nesne modellerinin yönetilen koda uygulanma yolu sebep olur.Daha fazla bilgi için bkz. Office Çözümlerinde Kod Yazma.
Uygulama düzeyi eklentilerini ve Visual Studio'da Office geliştirme araçlarını kullanarak oluşturabileceğiniz çözümlerin diğer türleri hakkında genel bilgi için, bkz. Office Çözümleri Geliştirmesine Genel Bakış.
ThisAddIn Sınıfını Kullanma
ThisAddIn sınıfında eklenti kodunuzu yazmaya başlayabilirsiniz.Eklenti projenizin ThisAddIn.vb (Visual Basic'de) veya ThisAddIn.cs (C#'ta) kod dosyasında Visual Studio otomatik olarak bu sınıfı oluşturur. Microsoft Office uygulaması eklentinizi yüklediğinde, Office çalışma zamanı için Visual Studio Araçları otomatik olarak bu sınıfın örneğini sizin için oluşturur.
ThisAddIn sınıfında varsayılan olarak iki tane olay işleyicisi vardır.Eklenti yüklendiğinde kodu çalıştırmak için, kodu ThisAddIn_Startup olay işleyicisine ekleyin.Eklenti kaldırılmadan hemen önce kodu çalıştırmak için, kodu ThisAddIn_Shutdown olay işleyicisine ekleyin.Bu olay işleyicileri hakkında daha fazla bilgi için, bkz. Office Projelerindeki Olaylar.
[!NOT]
Outlook, varsayılan olarak ThisAddIn_Shutdown olay işleyicisi eklenti kaldırıldığında her zaman çağrılmaz.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.
Konak Uygulamasının Nesne Modeline Erişme
Konak uygulamasının nesne modeline erişmek için, ThisAddIn sınıfının Application alanını kullanın.Bu alan, konak uygulamasının geçerli örneğini gösteren nesneyi döndürür.Aşağıdaki tabloda, her eklenti projesindeki Application alanı için dönüş değeri türleri listelenir.
Konak Uygulama |
Dönüş değeri türü |
---|---|
Microsoft Office Excel |
|
Microsoft Office InfoPath |
|
Microsoft Office Outlook |
|
Microsoft Office PowerPoint |
|
Microsoft Office Project 2007 |
Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio |
Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word |
Aşağıdaki kod örneğinde, Microsoft Office Excel için eklentide yeni bir çalışma kitabını oluşturmak amacıyla Application alanının nasıl kullanılacağı gösterilmektedir.Bu örnek, ThisAddIn sınıfından çalıştırılmak üzere tasarlanmıştır.
Dim newWorkbook As Excel.Workbook = Me.Application.Workbooks.Add()
Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);
ThisAddIn sınıfının dışından aynı şeyi yapmak için,ThisAddIn sınıfına erişmek üzere Globals nesnesini kullanın.Globals nesnesi hakkında daha fazla bilgi için, bkz. Office Projelerindeki Nesnelere Genel Erişim.
Dim newWorkbook As Excel.Workbook = Globals.ThisAddIn.Application.Workbooks.Add()
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);
Özel Microsoft Office uygulamalarının nesne modelleri hakkında daha fazla bilgi için, aşağıdaki konulara bakın:
Office uygulaması başladığında, bir belgeye erişme
Tüm Office 2010 uygulamaları ve hiçbiri başlattığınızda bir belgenin otomatik olarak açılmasını Office 2013 uygulamaları, başlattığınızda, bir belge açın.Bu nedenle, kod ekleme ThisAdd-In_Startup olay işleyicisine kod belge açık olmasını gerektiriyorsa.Bunun yerine, Office uygulaması başlatan kullanıcı oluşturur veya bir belgeyi açan bir olay bu kodu ekleyin.Bu şekilde, kodunuzu işlemlerini gerçekleştirmeden önce bir belgenin açık olduğunu garanti edebilirsiniz.
Aşağıdaki kod örneğinde kullanıcı bir belge oluşturur veya varolan bir belgeyi açar Word belgesinde çalışır.
Private Sub ThisAddIn_Startup() Handles Me.Startup
AddHandler Application.NewDocument, AddressOf WorkWithDocument
End Sub
Private Sub WorkWithDocument(ByVal Doc As Microsoft.Office.Interop.Word.Document) _
Handles Application.DocumentOpen
Dim rng As Word.Range = Doc.Range(Start:=0, End:=0)
rng.Text = " New Text "
rng.Select()
End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);
((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
new Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);
}
private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
{
try
{
Word.Range rng = Doc.Range(0, 0);
rng.Text = "New Text";
rng.Select();
}
catch (Exception ex)
{
// Handle exception if for some reason the document is not available.
}
}
Diğer Görevler İçin Kullanmak Üzere ThisAddIn Üyeleri
Aşağıdaki tabloda, diğer ortak görevler anlatılır ve görevleri gerçekleştirmek için ThisAddIn sınıfının hangi üyelerini kullanabileceğiniz gösterilir.
Görev |
Kullanılacak üye |
---|---|
Eklenti yüklendiğinde, eklentiyi başlatmak için kodu çalıştırma. |
ThisAddIn_Startup yöntemine kodunuzu ekleyin.Bu, Startup olayı için varsayılan olay işleyicisidir.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar. |
Eklenti kaldırılmadan önce eklenti tarafından kullanılan kaynakları temizlemek için kodu çalıştırma. |
ThisAddIn_Shutdown yöntemine kodunuzu ekleyin.Bu, Shutdown olayı için varsayılan olay işleyicisidir.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.
|
Özel görev bölmesini görüntüleme. |
CustomTaskPanes alanını kullanın.Daha fazla bilgi için bkz. Özel Görev Bölmeleri. |
Eklenti nesnelerini diğer Microsoft Office çözümleriyle oluşturma. |
RequestComAddInAutomationService yöntemini geçersiz kılın.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerinde Diğer Office Çözümlerinden Kod Çağırma. |
Genişletilebilirlik arayüzünü uygulayarak Microsoft Office sistemindeki özelliği özelleştirme. |
Arayüzü uygulayan sınıfın bir örneğini döndürmek için RequestService yöntemini geçersiz kılın.Daha fazla bilgi için bkz. Genişletilebilirlik Arabirimlerini Kullanarak Kullanıcı Arabirimi Özelliklerini Özelleştirme.
|
ThisAddIn Sınıfının Tasarımını Anlama
' İ hedefleyen projelerde .NET Framework 4, AddIn bir arabirimdir.ThisAddIn Sınıf türetilir AddInBase sınıf.Taban sınıfı, AddIn arayüzünün iç uygulamasının üyelerine yapılan çağrıları Office çalışma zamanı için Visual Studio Araçları'da yeniden yönlendirir.
Outlook'taki eklenti projelerinde, ThisAddIn sınıfı, .NET Framework 3.5'i hedefleyen projelerdeki Microsoft.Office.Tools.Outlook.OutlookAddIn sınıfından ve projelerde .NET Framework 4 hedefleyen OutlookAddInBase'den türetilir.Bu temel sınıflar form bölgesini desteklemek için bazı ek işlevsellik sağlar.Form bölgeleri hakkında daha fazla bilgi için, bkz. Outlook Form Bölgeleri Oluşturma.
Microsoft Officem Uygulamasının Kullanıcı Arayüzünü Özelleştirme
Uygulama düzeyi eklentisi kullanarak Microsoft Office uygulamalarının UI'ını programlı olarak özelleştirebilirsiniz.Örneğin, Şerit'i özelleştirmek, özel görev bölmesini görüntülemek veya Outlook'ta özel form bölgesi oluşturabilirsiniz.Daha fazla bilgi için bkz. Office Kullanıcı Arabirimini Özelleştirme.
Visual Studio tasarımcıları ve özel görev bölmeleri, Şerit özelleştirmeleri ve Outlook form bölgeleri oluşturmak için kullanabileceğiniz sınıfları sağlar.Bu tasarımcılar ve sınıflar, bu özellikleri özelleştirme işlemini basitleştirmeye yardım eder.Daha fazla bilgi için, bkz: Özel Görev Bölmeleri, Şerit Tasarımcısı ve Outlook Form Bölgeleri Oluşturma
Eğer bu özelliklerden birini, tasarımcıların ve sınıfların desteklemediği bir yoldan özelleştirmek isterseniz, bu özellikleri eklentinizde genişletilebilirlik arayüzü uygulayarak da özelleştirebilirsiniz.Daha fazla bilgi için bkz. Genişletilebilirlik Arabirimlerini Kullanarak Kullanıcı Arabirimi Özelliklerini Özelleştirme.
Buna ek olarak, kullanıcı Arabirimi, Word belgelerini ve Excel çalışma kitaplarını belgeleri ve çalışma kitaplarını davranışlarını genişleten konak öğeleri yaratarak değiştirebilirsiniz.Bu, belgelere ve çalışma kitaplarına yönetilen denetimler eklemek sağlar.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerindeki Word Belgelerini ve Excel Çalışma Kitaplarını Çalışma Zamanında Genişletme.
Uygulama Düzeyi Eklentilerindeki Kodu Diğer Çözümlerden Çağırma
Eklenti nesnelerini, diğer Office çözümleri dahil olmak üzere başka çözümlerle oluşturabilirsiniz.Eğer eklentiniz, diğer çözümlerin kullanması için etkinleştirmek istediğiniz bir hizmet sağlıyorsa, bu yararlıdır.Web hizmeti finansal veriler üzerinde hesaplamalar gerçekleştiren bir Microsoft Office Excel için bir eklenti varsa, örneğin, diğer çözümler bu hesaplamalar çağırarak Excel eklentisi çalışma zamanında gerçekleştirebilirsiniz.
Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentilerinde Diğer Office Çözümlerinden Kod Çağırma.
Ayrıca bkz.
Görevler
İzlenecek Yol: Uygulama Düzeyi Eklentide VBA'dan Kod Çağırma
Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma
Kavramlar
Uygulama Düzeyi Eklentilerinde Diğer Office Çözümlerinden Kod Çağırma
Genişletilebilirlik Arabirimlerini Kullanarak Kullanıcı Arabirimi Özelliklerini Özelleştirme
Uygulama Düzeyi Eklentileri Mimarisi