Makale Özeti

Her ne ortamda geliştirme yapsanız veya hangi sektöre çözüm geliştirseniz bile her zaman kullanılan tek ortak şey ofis’dir herhalde. Ofisin kullanım yaygınlığını anlatmama gerek yok. Birçok uygulamanızında mutlaka çözüm içinde ofis ile entegre olması gerekir. Hatta radikal gelebilir ama bazen bir çözüm üretecekseniz ve bu çözüme ofis uygulamaları yakınsa yeni bir çözüme gerek yoktur. Ancak takdir edersinizki ofis sabit bir uygulama. Yani ne gelirse o kadarından kullanıcı verim alabilir. Peki ofisin ihtiyaçları yüksek seviyede karşılayabileceği ancak ek ihtiyaçlar gerektirdiği durumlarda ne yaparsınız? Yeniden bir word / excel yazıp üzerinde geliştirme yapmak pek de mantıklı değil. İşte bu gibi durumlar için .Net vizyonu ile birlikte Visual Studio Tools For Office (VSTO) çözümü gelmektedir. Evet .Net öncesinde de ofis içinde yer alan programlama ortamı ile ek geliştirme yapma şansımız vardı ama .Net ile birlikte bu imkanlarımız birçok özellikle artmış durumdadır.

Makale

VISUAL STUDIO TOOLS FOR OFFICE

Her ne ortamda geliştirme yapsanız veya hangi sektöre çözüm geliştirseniz bile her zaman kullanılan tek ortak şey ofis’dir herhalde. Ofisin kullanım yaygınlığını anlatmama gerek yok. Birçok uygulamanızında mutlaka çözüm içinde ofis ile entegre olması gerekir. Hatta radikal gelebilir ama bazen bir çözüm üretecekseniz ve bu çözüme ofis uygulamaları yakınsa yeni bir çözüme gerek yoktur. Ancak takdir edersinizki ofis sabit bir uygulama. Yani ne gelirse o kadarından kullanıcı verim alabilir. Peki ofisin ihtiyaçları yüksek seviyede karşılayabileceği ancak ek ihtiyaçlar gerektirdiği durumlarda ne yaparsınız? Yeniden bir word / excel yazıp üzerinde geliştirme yapmak pek de mantıklı değil. İşte bu gibi durumlar için .Net vizyonu ile birlikte Visual Studio Tools For Office (VSTO) çözümü gelmektedir. Evet .Net öncesinde de ofis içinde yer alan programlama ortamı ile ek geliştirme yapma şansımız vardı ama .Net ile birlikte bu imkanlarımız birçok özellikle artmış durumdadır.

Bu makalemizde VSTO’yu genel anlamda tanıyacağız ve gerekliliklerini göreceğiz.

VSTO, word ve excel dosyalarında arka planda çalışacak kodlarının yazılması için gerekli teknolojidir. Bu teknolojinin içerdiği ürünler;

        * VSTO.

        * Visual Basic .Net veya C# dillerinin kullanımına izin verir.

        * Visual Basic .Net Standart Edition.

        * Microsoft Office Access 2003 Developer Extensions.

        * SQL Server 2000 Developer Edition

VSTO, Visual Basic .Net ve C# ile geliştirilebilmesi için Visual Studio .Net proje örnekleri sunar.

VSTO kurulumu için sırasıyla gereklilikler;

        * .Net Framework 1.1

        * Geliştirme ortamı için;

                Visual Basic .Net 2003 Standart Edition veya Visual Studio .Net 2003 Professional Edition ve üstü. Burada önemli olan nokta Visual Basic .Net veya C# içeriyor olması.

        * VSTO yardım dosyalarının kurulabilmesi için MSDN Library

        * Microsoft Office Professional Edition 2003 (Word, Excel, Office Tools\Forms 2.0, Office Tools\Graph)

Uygulamaların çalışacağı istemci makinesinde ise .Net Framework 1.1 ve Office 2003 kurulumu gereklidir.

VSTO kurulumundan sonra ofis örnekleri otomatik olarak Visual Studio .Net içine eklenir. Visual Studio .Net ortamında New Project dediğiniz zaman Visual Basic .Net ve C# için kullanılabilir durumda olduğunu göreceksiniz.

Visual Basic için;

C# için;

Microsoft Office Project Wizard

Yeni bir ofis projesi seçtiğiniz zaman, bu sihirbaz aktif hale gelir ve bu sihirbaz aracılığı ile var olan bir ofis dosyanızı projenize bağlayabileceğiniz gibi, yeni bir ofis dökümanıda yaratabilirsiniz.

Bu sihirbaz varsayılan olarak tam güvenli kullanıcı seviyesinde bilgisayarınızın güvenliğini projeniz ve çalıştırılması için klasöre ve alt klasörlere uygular. Sihirbazda bu seçeneği pasif hale getirebilirsiniz. Ancak bu durumda da manuel olarak uygulamanızın güvenlik ayarlarını çalıştırmadan önce tanımlamanız gerekir.

Kullanıcı seviyesine baktığımızda, oluşan ofis uygulamasının normal bir ofis uygulamasından farkı yoktur. Aynı şekilde ofis uygulmasını kullanır. Göreceği tek farklı şey geliştirmeler olacaktır. Ancak arka tarafa baktığımızda ofis dökümanı (geliştirme yapılmış) açıldığında ofis common language runtime’ı başlatır ve ilgili assembly’i çağırır. Yazılan uygulamaya göre de ilgili kodlar çalıştırılır.

VSTO öncesinde de ofis için uygulamalar geliştirebiliyorduk. Bu ortama VBA deniliyor. VBA’da ofis için uygulama geliştirme anlamında yardımcı bir ortam sağlamakta ancak VSTO’ya göre güvenlik ve dağıtım anlamında eksiklikleri olduğu görülmektedir. VBA halen daha desteklenmeye devam edilmektedir.

VBA ile VSTO’yu karşılaştırdığımız zaman Microsoft’un dedikleri şu şekilde;

VSTO

VBA

Geliştirmeler ofis dökümanı içinden ayrılmış durumdadır.

Geliştirmeler ofis dökümanı içindedir.

.Net Framework API’leri kullanılabilir.

Sadece ofis obje modelleri ve VBA fonksiyonelliği kullanılır.

Yüksek seviyede güvenlikde dizayn edilmiştir.

Limitli güvenlik vardır.

Birçok dağıtım opsiyonu vardır.

Limitli dağıtım opsiyonu vardır.

Visual Studio .Net’in tüm özelliklerini kullanır.

Limitli bir geliştirme ortamı vardır.

İstemci makinesinde .Net Framework ve Ofis gereklidir.

İstemci makinesinde sadece ofis gereklidir.

Ofis projelerinizde debug yapmak istersenizde standart Visual Studio .Net’in debug aracını kullanabilirsiniz. Debug başlattığınız zaman ilgili döküman yeni bir word veya Excel işleminde açılır. Debug işlemi bittiği zaman açılan ilgili döküman otomatik olarak kapanır. Bu dökümanı kullanmak isterseniz debug işlemini durdurmadan önce işlemden debugger’ı ayırmanız gerekir.

Kaynak: MSDN

Yeliz Korkmaz, MVP

yeliz.korkmaz@yazgelistir.com