VSTO Eklentilerini Programla

Şunlar için geçerlidir:yesnoVisual Studio Mac için Visual Studio noVisual 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.

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 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.