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ılklar Office projelerinin tasarımıyla ilintilidir.

Uygulama alanı: Bu konudaki bilgiler Office 2013 ve Office 2010'un belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir. Bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

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.

Bb608596.collapse_all(tr-tr,VS.110).gifBirincil 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 modeliye 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ışılabilirlik montajları ile hedef Office uygulamaları.

Bb608596.collapse_all(tr-tr,VS.110).gifTasarı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ümeri Geliştirmek İçin Bilgisayarı Yapılandırma.

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

Bb608596.collapse_all(tr-tr,VS.110).gifBirincil 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 ayrıntılı 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.

Bb608596.collapse_all(tr-tr,VS.110).gifOluş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 Microsoft.Office.Interop.Word.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 rojelerindeki 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.

Bb608596.collapse_all(tr-tr,VS.110).gifÇalıştırma Zamanında Oluşturulmuş Sınıflara Erişme

Bir Office çözümü yüklendiğinde Office için Visual Studio Araçları çalışma zamanı modülü 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 Projeleri Nesnelerine Genel Erişim.

Bb608596.collapse_all(tr-tr,VS.110).gifOffice Çözümlerinde İsim Uzayı ile İlgili Konular

Değiştiremeyeceğiniz varsayýlan bir ad alaný (veya kök ad Visual Basic) projesini oluşturduktan sonra bir Office projesinin.Varsayılan ad alanı, 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).

Bb608596.collapse_all(tr-tr,VS.110).gifC# projelerinde konak öğesi sınıflarının ad alanlarını değiştirme

Konak öğesi sınıf (örneğin, ThisAddIn, ThisWorkbook, veya ThisDocument sınıfları) Visual C# Office projelerinde kendi isim uzayları vardır.Varsayılan olarak, projenizdeki konak öğesi için isim uzayı projeyi oluşturduğunuzda, belirtilen proje adı ile eşleşir.

Bir 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 Office projeler oluşturmak.

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.

vs Visual Basic ile programlama. Visual C# Office çözümleri

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 2012'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. Argümanları değeri ve başvuru (Visual Basic) (Visual Basic için) ve Kağıt geçirme Parametreler (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 geç bağlamayı gerçekleştirir Option Strict kapalıdır.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'te 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ışılabilirlik montajları ile hedef Office uygulamaları

Nasıl yapılır: olay işleyicileri Office projelerinin

Kavramlar

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

Office Projeleri Nesnelerine Genel Erişim

Office Projelerindeki Olaylar

Office Çözümlerinde Geç Bağlama

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