Office çözümlerinde kod yazma

Office projelerinde kod yazmanın Visual Studio'daki diğer proje türlerinden farklı bazı yönleri vardır. Bu farklılıkların çoğu, Office nesne modellerinin yönetilen koda gösterilme biçimiyle ilgilidir. Diğer farklılıklar Office projelerinin tasarımıyla ilgilidir.

Şunlar için geçerlidir: Bu konudaki bilgiler belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Yönetilen kod ve Office programlama

Tümleşik bir Microsoft Office çözümü oluşturmayı mümkün kılan temel teknoloji, Bileşen Nesne Modeli (COM) teknolojisinin bir parçası olan Otomasyon'dur. Otomasyon, uygun programlı arabirimleri destekleyen herhangi bir uygulama, DLL veya ActiveX denetimi tarafından kullanıma sunulan yazılım nesneleri oluşturmak ve denetlemek için kod kullanmanızı sağlar.

Birincil birlikte çalışma derlemelerini anlama

Microsoft Office uygulaması lications, işlevlerinin büyük bir kısmını Automation'da kullanıma sunar. Ancak, Office uygulaması'leri otomatikleştirmek için yönetilen kodu (Visual Basic veya C#gibi) doğrudan kullanamazsınız. Yönetilen kodu kullanarak Office uygulaması dağıtımlarını otomatikleştirmek için Office birincil birlikte çalışma derlemelerini (PIA) kullanmanız gerekir. Birincil birlikte çalışma derlemeleri, yönetilen kodun Office uygulaması lication'ların COM tabanlı nesne modeliyle etkileşim kurmasına olanak tanır.

Her Microsoft Office uygulaması'nin bir PIA'sı vardır. Visual Studio'da bir Office projesi oluşturduğunuzda, projeye otomatik olarak uygun PIA başvurusu eklenir. Projedeki diğer Office uygulaması özelliklerinin otomatikleştirilmesi için uygun PIA'ya el ile bir başvuru eklemeniz gerekir. Daha fazla bilgi için bkz. Nasıl yapılır: Birincil birlikte çalışma derlemeleri aracılığıyla Office uygulaması'leri hedefleme.

Birincil birlikte çalışma derlemelerini tasarım zamanında ve çalışma zamanında kullanma

Geliştirme görevlerinin çoğunu gerçekleştirmek için geliştirme bilgisayarınızda Office PIA'larının yüklü ve genel derleme önbelleğine kayıtlı olması gerekir. Daha fazla bilgi için bkz . Office çözümleri geliştirmek için bilgisayar yapılandırma.

.NET Framework 4 veya üstünü hedefleyen Office çözümlerini çalıştırmak için son kullanıcı bilgisayarlarında Office PIA'ları gerekli değildir. Daha fazla bilgi için bkz . Office çözümleri tasarlama ve oluşturma.

Birincil birlikte çalışma derlemelerinde türleri kullanma

Office PIA'ları, Office uygulaması lication'ların nesne modelini ve doğrudan kodunuzda kullanılması amaçlanmamış ek altyapı türlerini kullanıma sunan türlerin bir bileşimini içerir. Office PIA'larındaki türlere genel bakış için bkz . Office birincil birlikte çalışma derlemelerindeki sınıflara ve arabirimlere genel bakış.

Office PIA'larındaki türler COM tabanlı nesne modellerindeki türlere karşılık geldiği için, bu türleri kullanma şekliniz genellikle diğer yönetilen türlerden farklıdır. Örneğin, Office birincil birlikte çalışma derlemesinde isteğe bağlı parametreleri olan yöntemleri çağırma şekliniz, projenizde kullandığınız programlama diline bağlıdır. Daha fazla bilgi edinmek için aşağıdaki kaynaklara bakın:

Office projelerinin program modeli

Tüm Office projeleri, kodunuz için giriş noktasını sağlayan bir veya daha fazla oluşturulmuş sınıf içerir. Bu sınıflar ayrıca konak uygulamanın nesne modeline ve eylemler bölmeleri ve özel görev bölmeleri gibi özelliklere erişim sağlar.

Oluşturulan sınıfları anlama

Excel ve Word için belge düzeyi projelerinde, oluşturulan sınıf uygulamanın nesne modelindeki en üst düzey nesneye benzer. Örneğin, bir Word belge projesinde oluşturulan ThisDocument sınıf, Word nesne modelindeki sınıfla Document aynı üyeleri sağlar. Belge düzeyi projelerinde oluşturulan sınıflar hakkında daha fazla bilgi için bkz . Belge düzeyinde özelleştirmeleri programlama.

VSTO Eklenti projeleri adlı ThisAddInoluşturulmuş bir sınıf sağlar. Bu sınıf, konak uygulamanın nesne modelindeki bir sınıfa benzemiyor. Bunun yerine, bu sınıf VSTO Eklentisini temsil eder ve konak uygulamanın nesne modeline erişmek ve VSTO Eklentileri için kullanılabilen diğer özelliklere erişmek için kullanabileceğiniz üyeler sağlar. Daha fazla bilgi için bkz . PROGRAM VSTO Eklentileri.

Office projelerinde oluşturulan tüm sınıflar ve Shutdown olay işleyicileri içerirStartup. Kod yazmaya başlamak için genellikle bu olay işleyicilerine kod eklersiniz. VSTO Eklentinizi başlatmak için olay işleyicisine Startup kod ekleyebilirsiniz. VSTO Eklentiniz tarafından kullanılan kaynakları temizlemek için olay işleyicisine Shutdown kod ekleyebilirsiniz. Daha fazla bilgi için bkz . Office projelerindeki olaylar.

Çalışma zamanında oluşturulan sınıflara erişme

Bir Office çözümü yüklendiğinde, Office çalışma zamanı için Visual Studio Araçları projenizde oluşturulan sınıfların her birini oluşturur. Sınıfını kullanarak projenizdeki herhangi bir koddan bu nesnelere Globals erişebilirsiniz. Örneğin, sınıfını Globals kullanarak VSTO Eklentisindeki ThisAddIn Şerit düğmesinin olay işleyicisinden sınıftaki kodu çağırabilirsiniz.

Daha fazla bilgi için bkz . Office projelerindeki nesnelere genel erişim.

Office çözümlerinde ad alanı konuları

Projeyi oluşturduktan sonra bir Office projesinin varsayılan ad alanını (veya Visual Basic'teki kök ad alanını ) değiştiremezsiniz. Varsayılan ad alanı her zaman projeyi oluştururken belirttiğiniz proje adıyla eşleşecektir. Projenizi yeniden adlandırırsanız, varsayılan ad alanı değişmez. Projelerdeki varsayılan ad alanı hakkında daha fazla bilgi için bkz. Uygulama Sayfası, Project Tasarım Aracı (C#) ve Uygulama Sayfası, Project Tasarım Aracı (Visual Basic).

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

Konak öğesi sınıfları (örneğin, ThisAddIn, ThisWorkbookveya ThisDocument sınıfları) Visual C# Office projelerinde kendi ad alanlarına sahiptir. Varsayılan olarak, projenizdeki konak öğelerinin ad alanı, projeyi oluştururken belirttiğiniz proje adıyla eşleşir.

Visual C# Office projesindeki konak öğelerinin ad alanını değiştirmek için Konak Öğesi için Ad Alanı özelliğini kullanın. Daha fazla bilgi için bkz . Office projelerindeki özellikler.

Office projelerinde desteklenen programlama dilleri

Visual Studio'daki Office proje şablonları yalnızca Visual Basic ve Visual C# programlama dillerini destekler. Bu nedenle, bu proje şablonları yalnızca Visual Studio'daki Yeni Proje iletişim kutusunun Visual Basic ve Visual C# düğümleri altında kullanılabilir. 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ştirme iş akışını iyileştirmek için birlikte çalışacak şekilde geliştirilmiştir. Visual Basic bu geliştirmelerden bazılarını devraldı. Örneğin, Visual Basic isteğe bağlı parametreleri destekler; başka bir deyişle, Microsoft Office birincil birlikte çalışma derlemelerinde bazı yöntemleri çağırırken Visual C# kullandığınızdan daha az kod yazabilirsiniz.

Office çözümlerinde Visual Basic ve Visual C# ile program

Visual Basic veya Visual C# kullanarak Office çözümleri oluşturabilirsiniz. Microsoft Office nesne modelleri Microsoft Visual Basic for Applications (VBA) ile kullanılacak şekilde tasarlandığından, Visual Basic geliştiricileri Microsoft Office uygulaması cations tarafından sunulan nesnelerle rahatça çalışabilir. Visual C# geliştiricileri, Visual Basic geliştiricileriyle aynı özelliklerin çoğunu kullanabilir, ancak Bazı durumlarda Office nesne modellerini kullanmak için ek kod yazmaları gerekir. Ayrıca, Office geliştirmedeki temel programlama özellikleri ile Visual Basic ve C# dilinde yazılmış yönetilen kodlar arasında bazı farklılıklar vardır.

Visual Basic ile Visual C arasındaki önemli farklar#

Aşağıdaki tabloda, Office geliştirmesinde Visual Basic ile Visual C# arasındaki temel farklar gösterilmektedir.

Özellik Açıklama Visual Basic desteği Visual C# desteği
İsteğe bağlı parametreler Birçok Microsoft Office yönteminin, yöntemini çağırdığınızda gerekli olmayan parametreleri vardır. Parametresi için hiçbir değer geçirilmediyse, varsayılan bir değer kullanılır. Visual Basic isteğe bağlı parametreleri destekler. Visual C# çoğu durumda isteğe bağlı parametreleri destekler. Daha fazla bilgi için bkz . Office çözümlerinde isteğe bağlı parametreler.
Parametreleri başvuruya göre geçirme Microsoft Office birincil birlikte çalışma derlemelerinin çoğunda isteğe bağlı parametreler değere göre geçirilebilir. Ancak, bazı birincil birlikte çalışma derlemelerinde, başvuru türlerini kabul eden isteğe bağlı parametreler başvuruya göre geçirilmelidir.

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 için) ve Parametreleri geçirme (C# programlama kılavuzu).
Parametreleri başvuruya göre geçirmek için ek çalışma gerekmez. Visual Basic derleyicisi gerektiğinde parametreleri başvuruya göre otomatik olarak geçirir. Çoğu durumda, Visual C# derleyicisi gerektiğinde parametreleri başvuruya göre otomatik olarak geçirir. Daha fazla bilgi için bkz . Office çözümlerinde isteğe bağlı parametreler.
Parametreli özellikler Bazı özellikler parametreleri kabul eder ve salt okunur işlevler işlevi görür. Visual Basic, parametreleri kabul eden özellikleri destekler. Visual C# parametreleri kabul eden özellikleri destekler.
Geç bağlama Geç bağlama, değişkenleri tasarım zamanında nesne türüne atamak yerine, çalışma zamanında nesnelerin özelliklerini belirlemeyi içerir. Visual Basic, Option Strict kapalı olduğunda geç bağlama gerçekleştirir. Option Strict açık olduğunda, nesneleri açıkça dönüştürmeniz ve geç bağlanan üyelere erişmek için ad alanında System.Reflection türleri kullanmanız gerekir. Daha fazla bilgi için bkz . Office çözümlerinde geç bağlama. Visual C# .NET Framework 4'i hedefleyen projelerde geç bağlama gerçekleştirir. Daha fazla bilgi için bkz . Office çözümlerinde geç bağlama.

Office geliştirme ve yönetilen kod arasındaki önemli farklar

Aşağıdaki tabloda, Office geliştirmesi ile Visual Basic veya Visual C# dilinde yazılmış yönetilen kod arasındaki temel farklar gösterilmektedir.

Özellik Açıklama Visual Basic ve Visual C# desteği
Dizi dizinleri Microsoft Office uygulaması lications içindeki koleksiyonların alt dizi sınırı 1 ile başlar. Visual Basic ve Visual C# 0 tabanlı diziler kullanır. Daha fazla bilgi için bkz. Visual Basic'te Diziler (C# programlama kılavuzu) ve Diziler. Microsoft Office uygulaması lication nesne modelinde bir koleksiyonun ilk öğesine erişmek için 0 yerine 1 dizinini kullanın.