VSTO Eklentilerini Programla
Şunlar için geçerlidir:Visual Studio Mac için Visual Studio Visual Studio Code
VSTO Eklentisi oluşturarak bir Microsoft Office uygulamasını genişlettiğinizde, doğrudan projenizdeki sınıfa
ThisAddIn kod yazarsınız. Bu sınıfı, Microsoft Office konak uygulamasının nesne modeline erişme, uygulamanın kullanıcı arabirimini (UI) özelleştirme ve VSTO Eklentinizdeki nesneleri diğer Office çözümlerine gösterme gibi görevleri gerçekleştirmek için kullanabilirsiniz.
Şunlar için geçerlidir: Bu konudaki bilgiler VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulama ve proje türüne göre kullanılabilen özellikler.
VSTO Eklenti projelerinde kod yazmanın bazı yönleri, Visual Studio'daki diğer proje türlerinden farklıdır. Bu farklılıkların çoğu, Office nesne modellerinin yönetilen koda sunulma şeklinden kaynaklandı. Daha fazla bilgi için bkz. Office çözümlerinde kod yazma.
vsto eklentileri ve Visual Studio Office geliştirme araçlarını kullanarak oluşturabileceğiniz diğer çözüm türleri hakkında genel bilgi için bkz. çözüm geliştirmeye genel bakış (VSTO) Office.
ThisAddIn sınıfını kullanma
VSTO Eklenti kodunuzu sınıfına
ThisAddIn yazmaya başlayabilirsiniz. Visual Studio bu sınıfı VSTO Eklenti projenizdeki ThisAddIn.vb (Visual Basic içinde) veya ThisAddIn.cs (C#'de) kod dosyasında otomatik olarak oluşturur. Microsoft Office uygulaması VSTO Eklentinizi yüklediğinde Office için Visual Studio Araçları çalışma zamanı bu sınıfı sizin için otomatik olarak başlatır.
sınıfında iki varsayılan olay işleyicisi
ThisAddIn vardır. VSTO Eklentisi yüklendiğinde kodu çalıştırmak için olay işleyicisine
ThisAddIn_Startup kod ekleyin. VSTO Eklentisi yüklenmeden hemen önce kodu çalıştırmak için olay işleyicisine
ThisAddIn_Shutdown kod ekleyin. Bu olay işleyicileri hakkında daha fazla bilgi için bkz. Office projelerindeki olaylar.
Not
Outlook'da, VSTO Eklentisi kaldırıldığında varsayılan olarak
ThisAddIn_Shutdown olay işleyicisi her zaman çağrılmıyor. 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 sınıfının alanını
ThisAddIn kullanın
Application. Bu alan, konak uygulamasının geçerli örneğini temsil eden bir nesne döndürür. Aşağıdaki tabloda, her VSTO Eklentisi projesindeki alanın dönüş değerinin
Application türü listeledik.
|Ana bilgisayar uygulaması||Dönüş değeri türü|
|Microsoft Office Excel||Application|
|InfoPath'i Microsoft Office||Application|
|Microsoft Office Outlook||Application|
|Microsoft Office PowerPoint||Uygulama|
|Microsoft Office Project||Microsoft. Office. Interop.MSProject.Application|
|Microsoft Office Visio||Microsoft. Office. Birlikte çalış -abilir -lik. Visio. Uygulama|
|Word'Microsoft Office||Application|
Aşağıdaki kod örneği, Microsoft Office Excel için VSTO Eklentisi'nde yeni bir çalışma kitabı oluşturmak üzere alanının nasıl kullanılacağını
Application gösterir. Bu örnek sınıfından
ThisAddIn çalıştırılmak üzere tasarlanmıştır.
Sınıfın dışından
ThisAddIn da aynı şeyi yapmak için sınıfına
Globals erişmek
ThisAddIn için nesnesini kullanın. Nesne hakkında
Globals daha fazla bilgi için bkz. Office projelerindeki nesnelere genel erişim.
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);
Belirli Microsoft Office uygulamalarının nesne modelleri hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Office uygulaması başlatıldığında belgeye erişme
Office 2010 uygulamalarının tümü, belgeyi başlattığınızda otomatik olarak açılmaz ve Office 2013 uygulamalarının hiçbiri belgeyi başlattığınızda açmaz. Bu nedenle, bir belgenin
ThisAdd-In_Startup açık olmasını gerektiriyorsa, olay işleyicisine kod eklemeyin. Bunun yerine, bir kullanıcı belge oluşturduğunda veya açtığında Office uygulamasının oluşturduğu bir olaya bu kodu ekleyin. Bu şekilde, kodunuz üzerinde işlem yapmadan önce belgenin açık olduğunu garanti edebilirsiniz.
Aşağıdaki kod örneği, word'deki bir belgeyle yalnızca kullanıcı belge oluşturduğunda veya var olan bir belgeyi açtığında çalışır.
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 için kullanılacak ThisAddIn üyeleri
Aşağıdaki tabloda diğer ortak görevler açıklanır ve görevleri gerçekleştirmek için sınıfın
ThisAddIn hangi üyelerini kullanabileceğiniz gösterilir.
|Görev||Kullanılacak üye|
|VSTO Eklentisi yüklendiğinde VSTO Eklentisini başlatmak için kodu çalıştırın.||yöntemine


|VSTO Eklentisi yüklenmeden önce VSTO Eklentisi tarafından kullanılan kaynakları temizlemek için kod çalıştırın.||yöntemine


|Özel görev bölmesini görüntüleme.||


|VSTO Eklentinizdeki nesneleri diğer Microsoft Office çözümlerine sunma.||RequestComAddInAutomationService yöntemini geçersiz kılın. Daha fazla bilgi için bkz. Diğer Office çözümlerinden VSTO Eklentileri'nde kod çağırma.|
|Genişletilebilirlik arabirimi uygulayarak Microsoft Office sistemindeki bir özelliği özelleştirin.||arabirimini RequestService uygulayan bir sınıfın örneğini döndürmek için yöntemini geçersiz kılın. Daha fazla bilgi için bkz. Genişletilebilirlik arabirimlerini kullanarak UI özelliklerini özelleştirme. Not: Şerit kullanıcı arabirimini özelleştirmek için yöntemini de geçersiz kılabilirsiniz CreateRibbonExtensibilityObject .|
ThisAddIn sınıfının tasarımını anlama
.NET Framework 4'i AddIn hedefleyen projelerde bir arabirimdir. sınıfı
ThisAddIn sınıfından AddInBase türetilir. Bu temel sınıf, üyelerine yapılan tüm çağrıları Office için Visual Studio Araçları çalışma zamanında arabirimin AddIn iç uygulamasına yönlendirir.
Outlook için VSTO Eklenti projelerinde sınıf,
ThisAddIn .NET Framework 3.5'i hedefleyen projelerde sınıfından ve .NET Framework 4'i hedefleyen projelerden OutlookAddInBase türetilir
Microsoft.Office.Tools.Outlook.OutlookAddIn. Bu temel sınıflar form bölgelerini desteklemek için bazı ek işlevler sağlar. Form bölgeleri hakkında daha fazla bilgi için bkz. Outlook form bölgeleri oluşturma.
Microsoft Office uygulamalarının kullanıcı arabirimini özelleştirme
VSTO Eklentisi kullanarak Microsoft Office uygulamalarının kullanıcı arabirimini program aracılığıyla özelleştirebilirsiniz. Örneğin, şeridi özelleştirebilir, özel bir görev bölmesi görüntüleyebilir veya Outlook özel form bölgesi oluşturabilirsiniz. Daha fazla bilgi için bkz. Office kullanıcı arabirimi özelleştirmesi.
Visual Studio özel görev bölmeleri, şerit özelleştirmeleri ve Outlook form bölgeleri oluşturmak için kullanabileceğiniz tasarımcılar ve sınıflar sağlar. Bu tasarımcılar ve sınıflar, bu özellikleri özelleştirme sürecini basitleştirmeye yardımcı olur. Daha fazla bilgi için bkz. Özel görev bölmeleri, Şerit Tasarımcısı ve Outlook form bölgeleri oluşturma.
Bu özelliklerden birini sınıflar ve tasarımcılar tarafından desteklenmeyen bir şekilde özelleştirmek istiyorsanız, VSTO Eklentinizde bir genişletilebilirlik arabirimi uygulayarak da bu özellikleri özelleştirebilirsiniz. Daha fazla bilgi için bkz. Genişletilebilirlik arabirimlerini kullanarak UI özelliklerini özelleştirme.
Ayrıca, belge ve çalışma kitaplarının davranışını genişleten konak öğeleri oluşturarak Word belgelerinin ve Excel çalışma kitaplarının kullanıcı arabirimini değiştirebilirsiniz. Bu, belgelere ve çalışma sayfalarına yönetilen denetimler eklemenizi sağlar. Daha fazla bilgi için bkz. Çalışma zamanında VSTO Eklentileri'nde Word belgelerini ve Excel çalışma kitaplarını genişletme.
VSTO Eklentileri'nde diğer çözümlerden kod çağırma
VSTO Eklentinizdeki nesneleri, diğer Office çözümleri de dahil olmak üzere diğer çözümlere kullanıma sağlayabilirsiniz. VSTO Eklentiniz diğer çözümlerin kullanmasını sağlamak istediğiniz bir hizmet sağlıyorsa bu yararlı olur. Örneğin, bir web hizmetinden finansal veriler üzerinde hesaplamalar yapan bir Microsoft Office Excel için VSTO Eklentiniz varsa, diğer çözümler çalışma zamanında Excel VSTO Eklentisine çağrı yaparak bu hesaplamaları gerçekleştirebilir.
Daha fazla bilgi için bkz. Diğer Office çözümlerinden VSTO Eklentileri'nde kod çağırma.
Ayrıca bkz.
- Office çözümleri geliştirme
- ÇALıŞMA zamanında VSTO Eklentileri'nde Word belgelerini ve Excel çalışma kitaplarını genişletme
- Diğer Office çözümlerinden VSTO Eklentileri'nde kod çağırma
- İzlenecek yol: VBA'dan VSTO Eklentisinde kod çağırma
- Ui özelliklerini özelleştirme Genişletilebilirlik arabirimlerini kullanarak
- Nasıl yapılır: Visual Studio'da Office projeleri oluşturma
- VSTO Eklentileri Mimarisi
- Office çözümlerinde kod yazma