Excel 'de Çalışma - Yazgelistir.com
.NET Framework / Excel 'de Çalışma
Bu makalede, excelde kullanılan formüllerin runtime da nasıl oluşturulduğunu, fonksiyonların kullanımını ve hücrelere event atama işleminin nasıl gerçekleştirildiğini bulabilirsiniz.
Excel Formülleri ile Çalışma
Excel, hücrelerin mantıksal gruplarına matematiksel formül uygulamak için kullanıcılara olanak tanımaktadır. Formüller; metin, tarih saat, matematiksel formüller, finansal , mühendislik gibi grupları içermektedir. VSTO da bu formülleri kullanabilir ve sonuç döndürebilir.
Basit bir örnekle kullanımı görecek olursak; aşağıda excel a1 hücresinden a5 hücresine kadar olan kısımlardaki sayıların toplamını, a6 hücresinde formül kullanılarak gösterilmekte.
Aynı işlemi runtime da yapmak için, aynı toplam fonksiyonunu kullanabiliriz. Aşağıdaki kod bloğunda, hucre adında bir aralık tanımlanmış, Formula özelliği kullanılarak Exceldeki formül kullanılmış ve Calculate metodu ile fonksiyon çalıştırılmıştır.
WorksheetFunctions Metodları ile Çalışma
Microsoft Excel 300 üzerinde farklı worksheet fonksiyonu desteklemektedir ve .net kullanımından farklı değildir.
Yukarıdaki örneği bir fonksiyonla destekleyelim; formül işlemi gerçekleşmeden önce kullanıcıdan onay bekleyelim. Onay işlemini sık kullandığımız Messagebox Show metodu ile yapabiliriz.
Visual Studio 'da nasıl ki runtimeda yaratılan nesneler için nesne eventları oluşturabiliyorsak aynı işlemi VSTO içerisinde gerçekleştirmemiz mümkün. Bu işlemi en yararlı şekilde kullanmak için, sanırım hücrelere eventlar tanımlayabiliriz.
Örneğimizle bağlantılı olarak formül eklenen hücremize bir de event oluşturabiliriz.Formül çalıştırılır, ve hücrenin içeriği değiştiğinde hücre formatı sayı olarak ayarlanabilir. Bunun için A6 hücresini adlandırmamız sonra bir olayı için bir suba yönlendirme yapmamız gerekmektedir. Nesnenin olayını belirlemek için AddHandler ifadesi, yönlendirme için de AddressOf ifadesi kullanılmaktadır. Bu kod bloğunu ThisWorkbook_Startup 'a yazabilirsiniz.
Aşağıdaki kodda A6 hücresi hucre olarak adlandırılmakta, Addhandler ile hücrenin içeriğinin değişme olayı belirlenerek, hucre_Change subına yönlendirilmekte.
hucre_Change olayında A6 hücresinin formatı ayarlanmaktadır.
Böylece formül uygulanıp A6 hücresi değiştiğinde, belirlediğimiz format uygunlanmış olacaktır.