Aracılığıyla paylaş


Office Çözümlerinde Kod Yazma

Office projelerinde kod yazmanın Visual Studio'daki diğer tür projelerden farklı olan bazı açıları vardır.Bu farklılıkların birçoğu Office nesne modellerinin yönetilen koda uygulanma yoluyla ilintilidir.Diğer farklılıklar Office projelerinin tasarımıyla ilintilidir.

Uygulama hedefi: Bu konudaki bilgiler, Office 2013 ve Office 2010 için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.

Yönetilen Kod ve Office Programlama

Tümleşik Microsoft Office çözümlerinin oluşturulmasını mümkün kılan anahtar teknoloji, Component Object Modelinin (COM) teknolojisinin parçası olan Otomasyondur.Otomasyon, herhangi bir uygulama, DLL veya uygun program arayüzlerini destekleyen ActiveX denetimleri tarafından kullanıma sunulan yazılım nesnelerini oluşturmak denetlemek için kod kullanmanızı sağlar.

Birincil Birlikte Çalışma Derlemelerini Anlama

Microsoft Office uygulamaları, işlevlerinin çoğunu Otomasyon'a açar.Ancak, yönetilen kodu (örn. Visual Basic veya C#) doğrudan Office uygulamalarını otomatikleştirmek için kullanamazsınız.Office uygulamalarını yönetilen kod kullanarak otomatikleştirmek için Office birincil birlikte çalışma derlemelerini (PIA) kullanmanız gerekir.Birincil birlikte çalışma derlemeleri yönetilen kodun Office uygulamalarının COM temelli nesne modeliyle etkileşime geçmesini sağlar.

Her Microsoft Office uygulamasının bir PIA'i vardır.Visual Studio'da bir Office projesi yarattığınızda, projeye otomatik olarak uygun PIA'e bir başvuru eklenir.Projeden diğer Office uygulamalarının özelliklerini otomatikleştirmek için el ile uygun PIA'e bir başvuru eklemelisiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: Birincil Birlikte Çalışma Derlemeleriyle Office Uygulamalarını Hedefleme.

Tasarım Zamanında ve Çalışma Zamanında Birincil Birlikte Çalışma Derlemelerini Kullanma

Çoğu geliştirme görevini gerçekleştirebilmek için Office PIAlerinin geliştirme bilgisayarınızda genel derleme önbelleğine yüklü ve kayıtlı olması gerekir.Daha fazla bilgi için bkz. Office Çözümleri Geliştirmek İçin Bilgisayarı Yapılandırma.

Office PIA son kullanıcı bilgisayarlarında hedefleyen Office çözümlerinin çalışması için gerekli olmayan .NET Framework 4 veya .NET Framework 4,5.Daha fazla bilgi için bkz. Office Çözümleri Tasarlama ve Oluşturma.

Birincil Birlikte Çalışma Derlemesinde Türleri Kullanma

Office PIA Office uygulamalarının nesne modelini sunar türleri ve kodunuzda doğrudan kullanılması düşünülmeyen ek altyapı türleri birleşimini içerir.Office PIA'daki türlerine genel bakış için bkz: Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Office PIAlerindeki türler COM temelli nesne modelindeki türlere karşılık geldiği için bu türleri kullanış yolunuz çoğu zaman diğer yönetilen türlerden farklıdır.Örneğin, bir Office birincil birlikte çalışma derlemesinde isteğe bağlı parametreleri olan yöntemleri çağırma yolunuz projede kullandığınız programlama diline bağlıdır.Daha fazla bilgi için aşağıdaki konulara bakın:

Office Projelerinin Modelini Programlama

Bütün Office projeleri kodunuza giriş noktasını sağlayan bir ya da daha fazla oluşturulmuş sınıf içerir.Bu sınıflar ayrıca konak uygulamanın nesne modeline ve eylemler bölmesi, özel görev bölmesi gibi özelliklere erişim sağlar.

Oluşturulmuş Sınıfları Anlama

Excel ve Word için belge düzeyi projelerde, oluşturulmuş sınıf uygulamanın nesne modelindeki üst düzey nesneye benzer.Örneğin, Word belge düzeyi projesindeki oluşturulmuş ThisDocument sınıfı, Word nesne modelindeki Document sınıfıyla aynı üyeleri sağlar.Belge düzeyi projelerinde, oluşturulmuş sınıflar hakkında daha fazla bilgi için, bkz. Belge Düzeyi Özelleştirmelerini Programlama.

Uygulama düzeyi projeleri ThisAddIn adında bir oluşturulmuş sınıf sunar.Bu sınıf, konak uygulamasının nesne modelindeki bir sınıfa benzemez.Bunun yerine, bu sınıf eklentinin kendisini temsil eder ve bu sınıfı konak uygulamasının nesne modeline eklentilerde kullanılabilir olan diğer özelliklerine erişmek için kullanabilirsiniz.Daha fazla bilgi için bkz. Uygulama Düzeyi Eklentileri Programlama.

Office projelerindeki bütün oluşturulmuş sınıflar Startup ve Shutdown olay işleyicilerini içerir.Kod yazmaya başlamak için genellikle bu olay işleyicilerine kod eklersiniz.Eklentinizi başlatmak için Startup olay işleyicisine kod ekleyebilirsiniz.Eklentinizin kullandığı kaynakları temizlemek için Shutdown olay işleyicisine kod ekleyebilirsiniz.Daha fazla bilgi için bkz. Office Projelerindeki Olaylar.

Çalıştırma Zamanında Oluşturulmuş Sınıflara Erişme

Bir Office çözümü yüklendiğinde Office çalışma zamanı için Visual Studio Araçları projenizdeki her bir oluşturulmuş sınıfı başlatır.Bu nesneler projenizdeki herhangi bir kodda Globals sınıfını kullanarak erişebilirsiniz.Örneğin, bir uygulama düzeyi eklentisinde, Globals sınıfını, bir Şerit düğmesinin olay işleyicisinden ThisAddIn sınıfındaki kodu çağırmak için kullanabilirsiniz.

Daha fazla bilgi için bkz. Office Projelerindeki Nesnelere Genel Erişim.

Office Çözümlerinde İsim Uzayı ile İlgili Konular

Değişiklik yapamazsınız varsayılan ad (veya Kök ad Visual Basic) projesini oluşturduktan sonra bir Office projesinin.Varsayılan ad alanını projeyi oluşturduğunuzda, belirtilen proje adı her zaman aynı olacaktır.Projenizi yeniden adlandırırsanız, varsayılan ad alanını değiştirmez.Projelerinde varsayılan ad alanı hakkında daha fazla bilgi için bkz: Uygulama Sayfası, Proje Tasarımcısı (C#) ve Uygulama Sayfası, Proje Tasarımcısı (Visual Basic).

C# projelerinde konak öğesi sınıfı ad alanını değiştirme

Konak öğesi sınıfı (örneğin, ThisAddIn, ThisWorkbook, veya ThisDocument sınıflar) Visual C# Office projelerinde kendi ad sahip.Varsayılan olarak, projenizdeki konak öğesi için isim uzayı, projeyi oluşturduğunuzda belirttiğiniz proje adıyla aynıdır.

Visual C# Office projesindeki konak öğelerinin ad alanını değiştirmek için Namespace for Host Item özelliği.Daha fazla bilgi için bkz. Office Projelerinde Özellikler.

Office Projelerinde Desteklenen Programlama Dilleri

Visual Studio'da Office proje şablonları sadece Visual Basic ve Visual C# programlama dillerini destekler.Bu nedenle bu proje şablonları Visual Studio'da sadece Yeni Proje iletişim kutusunun Visual Basic ve Visual C# düğümleri altında kullanılabilirdir.Daha fazla bilgi için bkz. Nasıl Yapılır: Visual Studio'da Office Projeleri Oluşturma.

Dil Seçimi ve Office Programlama

Microsoft Office ve Visual Basic for Applications (VBA), uygulama özelleştirmesinin iş akışını iyileştirmek için birlikte geliştirilmiştir.Visual Basic bu geliştirmelerin bazılarını devralmıştır.Örneğin, Visual Basic isteğe bağlı parametreleri destekler ki bu Microsoft Office birincil birlikte çalışma derlemelerinde bazı yöntemleri çağırırken Visual C#'ta olduğundan daha az kod yazabileceğiniz anlamına gelir.

Visual Basic vb. ile programlama Visual C# Office çözümlerinde

Visual Basic veya Visual C# kullanarak Office çözümü oluşturabilirsiniz.Microsoft Office nesne modelleri Microsoft Visual Basic for Applications (VBA) ile kullanılmak üzere tasarlandığı için Visual Basic geliştiricileri Microsoft Office uygulamaları tarafından oluşturulan nesnelerle rahatça çalışabilir.Visual Studio 2013'de Visual C# geliştiricileri Visual Basic geliştiricilerinin kullandığı çoğu özelliği kullanabilir, fakat Office nesne modelini kullanmak için ek kod yazmaları gereken yerler vardır.Aynı zamanda Office geliştirme temel programlama özellikleri ve Visual Basic ve C#'da yazılmış yönetilen kod arasında bazı farklar vardır.

Visual Basic ve Visual C# arasındaki ana farklar

Aşağıdaki tablo Office geliştirmede Visual Basic ve Visual C# arasındaki ana farkları gösterir.

Özellik

Tanımlama

Visual Basic desteği

Visual C# desteği

İsteğe bağlı parametreler

Birçok Microsoft Office yöntemi, çağırdığınızda gerekmeyen parametrelere sahiptir.Parametre için hiçbir değer gönderilmezse, varsayılan değer kullanılır.

Visual Basic isteğe bağlı parametreleri destekler.

Visual C# çoğunlukla isteğe bağlı parametreleri destekler.Daha fazla bilgi için bkz. Office Çözümlerinde İsteğe Bağlı Parametreler.

Başvuru ile parametre geçirme

Microsoft Office birincil birlikte çalışma derlemelerindeki isteğe bağlı parametreler değer ile geçirilebilirler.Fakat, bazı birincil birlikte çalışma derlemelerinde, başvuru türlerini kabul eden isteğe bağlı parametreler başvuru ile geçirilmek zorundadır.

Değer ve başvuru türü parametreleri hakkında daha fazla bilgi için, bkz. Bağımsız Değişkenleri Değere ve Başvuruya Göre Geçirme (Visual Basic) (Visual Basic için) ve Parametreleri Geçirme (C# Programlama Kılavuzu).

Parametreleri başvuru ile geçirmek için ek işe gerek yoktur.Visual Basic derleyicisi gerektiğinde parametreleri otomatik olarak başvuru ile geçirir.

Çoğunlukla Visual C# derleyicisi gerektiğinde parametreleri otomatik olarak başvuru ile geçirir. Daha fazla bilgi için bkz. Office Çözümlerinde İsteğe Bağlı Parametreler.

Parametreli özellikler

Bazı özellikler parametreleri kabul eder ve salt okunur işlevler olarak davranır.

Visual Basic parametreleri kabul eden özellikleri destekler.

Visual C# parametreleri kabul eden özellikleri destekler.

Geç bağlama

Geç bağlama değerleri tasarım zamanında nesne türlerine atamak yerine, nesnelerin özelliklerini çalışma zamanında belirler.

Visual Basic Option Strict kapalı olduğunda geç bağlamayı gerçekleştirir.Option Strict açık olduğunda, nesneleri açıkça dönüştürmeli ve geç bağlanmış üyelere erişmek için System.Reflection isim uzayındaki türleri kullanmalısınız.Daha fazla bilgi için bkz. Office Çözümlerinde Geç Bağlama.

Visual C# .NET Framework 4'ı hedefleyen projelerde geç bağlamayı kullanır.Daha fazla bilgi için bkz. Office Çözümlerinde Geç Bağlama.

Office Geliştirme ve Yönetilen Kod Arasındaki Farklar

Aşağıdaki tablo Office geliştirme ve Visual Basic veya Visual C#'da yazılmış yönetilen kod arasındaki ana farkları gösterir.

Özellik

Tanımlama

Visual Basic ve Visual C# desteği

Dizi dizinleri

Microsoft Office uygulamalarında koleksiyonların düşük dizi sınırı 1 ile başlar.Visual Basic ve Visual C# 0 tabanlı diziler kullanır.Daha fazla bilgi için, bkz. Diziler (C# Programlama Kılavuzu) ve Visual Basic'de Diziler.

Microsoft Office uygulamasının nesne modelindeki koleksiyonun ilk öğesine ulaşmak için 0 yerine 1 dizinini kullanın.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Birincil Birlikte Çalışma Derlemeleriyle Office Uygulamalarını Hedefleme

Nasıl Yapılır: Office Projelerinde Olay İşleyicileri Oluşturma

Kavramlar

Office Çözümlerinde İsteğe Bağlı Parametreler

Office Projelerindeki Nesnelere Genel Erişim

Office Projelerindeki Olaylar

Office Çözümlerinde Geç Bağlama

Office Çözümlerinin İşbirlikçi Geliştirmesi