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.

Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

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.