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ınApplication
. 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 ThisAddIn_Startup kod ekleyin. Bu, olayın varsayılan olay işleyicisidir Startup . Daha fazla bilgi için bkz. Office projelerindeki olaylar. |
VSTO Eklentisi yüklenmeden önce VSTO Eklentisi tarafından kullanılan kaynakları temizlemek için kod çalıştırın. | yöntemine ThisAddIn_Shutdown kod ekleyin. Bu, olayın varsayılan olay işleyicisidir Shutdown . 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. |
Ö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. |
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üretilirMicrosoft.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