VSTO Eklentilerini Programla
VsTO Eklentisi oluşturarak bir Microsoft Office uygulaması'sini genişlettiğinizde, doğrudan projenizdeki sınıfa ThisAddIn
kod yazarsınız. 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 bu sınıfı kullanabilirsiniz.
Şunlar için geçerlidir: Bu konudaki bilgiler VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması 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 birçoğu, Office nesne modellerinin yönetilen koda sunulma şeklinden kaynaklandı. Daha fazla bilgi için bkz . Office çözümlerinde kod yazma.
Visual Studio'daki Office geliştirme araçlarını kullanarak oluşturabileceğiniz VSTO Eklentileri ve diğer çözüm türleri hakkında genel bilgi için bkz . Office çözümleri geliştirmeye genel bakış (VSTO)...
ThisAddIn sınıfını kullanma
VSTO Eklenti kodunuzu sınıfına ThisAddIn
yazmaya başlayabilirsiniz. Visual Studio, VSTO Eklenti projenizdeki ThisAddIn.vb (Visual Basic'te) veya ThisAddIn.cs (C#'de) kod dosyasında bu sınıfı otomatik olarak oluşturur. Microsoft Office uygulaması lication VSTO Eklentinizi yüklediğinde Office çalışma zamanı Visual Studio Araçları 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 kaldırılana kadar 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'ta, VSTO Eklentisi kaldırıldığında olay işleyicisi varsayılan olarak ThisAddIn_Shutdown
her zaman çağrılmaz. Daha fazla bilgi için bkz . Office projelerindeki olaylar.
Konak uygulamasının nesne modeline erişme
Konak uygulamanı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 Eklenti projesindeki alanın dönüş değerinin Application
türü listeledik.
Ana bilgisayar uygulaması | Dönüş değeri türü |
---|---|
Microsoft Office Excel | Application |
Microsoft Office InfoPath | Application |
Microsoft Office Outlook | Application |
Microsoft Office PowerPoint | Uygulama |
Microsoft Office Project | Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio | Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word | Application |
Aşağıdaki kod örneğinde, Microsoft Office Excel için VSTO Eklentisinde yeni bir çalışma kitabı oluşturmak üzere alanın nasıl kullanılacağı Application
gösterilmektedir. 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 uygulaması lications nesne modelleri hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Office uygulaması başladığında belgeye erişme
Tüm Office 2010 uygulamaları, bir belgeyi başlattığınızda otomatik olarak açılmaz ve office 2013 uygulamalarından hiçbiri belgeyi başlattığınızda açmaz. Bu nedenle, kodun bir belgenin ThisAdd-In_Startup
açık olmasını gerektiriyorsa olay işleyicisine kod eklemeyin. Bunun yerine, bu kodu bir kullanıcı belge oluşturduğunda veya açtığında Office uygulaması lication'ın tetiklediği bir olaya ekleyin. Bu şekilde, kodunuz üzerinde işlem gerçekleştirmeden önce belgenin açık olduğunu garanti edebilirsiniz.
Aşağıdaki kod örneği, Word'deki bir belgeyle yalnızca kullanıcı bir 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 kodu ç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'ta, VSTO Eklentisi kaldırıldığında olay işleyicisi varsayılan olarak ThisAddIn_Shutdown her zaman çağrılmaz. 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 kullanıcı arabirimi ö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. ThisAddIn
sınıfı sınıfından AddInBase türetilir. Bu temel sınıf, üyelerine yapılan tüm çağrıları Office çalışma zamanı için Visual Studio Araçları arabiriminin AddIn iç uygulamasına yönlendirir.
Outlook için VSTO Eklenti projelerinde, ThisAddIn
sınıfı .NET Framework 3.5'i hedefleyen projelerdeki sınıfından ve .NET Framework 4'e hedef olan 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 uygulaması lications kullanıcı arabirimini özelleştirme
VsTO Eklentisi kullanarak Microsoft Office uygulaması'nin 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'ta ö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ım Aracı 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 kullanıcı arabirimi özelliklerini özelleştirme.
Ayrıca, belgelerin 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 eklemenize olanak tanır. Daha fazla bilgi için bkz . Çalışma zamanında VSTO Eklentilerinde Word belgelerini ve Excel çalışma kitaplarını genişletme.
Diğer çözümlerden VSTO Eklentileri'nde kod çağırma
VSTO Eklentinizdeki nesneleri diğer Office çözümleri de dahil olmak üzere diğer çözümlere kullanıma salayabilirsiniz. VSTO Eklentiniz diğer çözümlerin kullanılması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 VSTO Eklentiniz varsa, diğer çözümler çalışma zamanında Excel VSTO Eklentisi'ne arayarak bu hesaplamaları gerçekleştirebilir.
Daha fazla bilgi için bkz . Diğer Office çözümlerinden VSTO Eklentileri'nde kod çağırma.
İlgili içerik
- Office çözümleri geliştirme
- VSTO Eklentilerinde Word belgelerini ve Excel çalışma kitaplarını çalışma zamanında 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