28 Şubat 2015 Cumartesi

Excel Soru-Cevap Vol15

Soru: Excel'de hazırlanan bir dosyayı program haline (exe, com) dönüştürmek istiyorum. Bu mümkün mü? Amaç hazırlanan sayfa haricinde bilgilerimin kullanılmamasını sağlamak.

Cevap:  Öncelikle hemen belirtmeliyim ki sorunuzun cevabı olumsuzdur. Yani Excel'de hazırladığınız bir programı .exe ya da .com uzantılı dosya haline dönüştüremezsiniz.
Excel kullandığı halde programlama mantığını tam olarak kavrayamamış bir çok arkadaşımız ilk zamanlarda bu şekilde düşünmekte ve hazırladıkları programları kullanışlı hale getirmek istemektedirler.
Unutulmamalıdır ki Excel Uygulaması kendi haline bir Uygulama (Application)'dır. Kendine has kullanmış olduğu birimleri mevcuttur. WorkBook ana nesnesinin ve bu ana nesneye bağlı Worksheet, Range/Cells nesnelerinin çalışması için hazırladığınız her programın Excel.Exe uygulamasına ihtiyacı bulunmaktadır. Dolayısıyla tekrarlamak gerekirse Excel.Exe uygulaması olmadan Excel'de hazırladığınız bir programı Visual Basic ya da Delphi gibi Programlama dillerinde olduğu gibi derleyerek özerk bir program şekline dönüştüremeyiz.
Bu konu ile ilgili bir açıklamayı daha önce yapmıştım. Aşağıya tekrar alıyorum.

Excel Bir Form'dur
Bazı yeni arkadaşlarımız ve yine bazı eski arkadaşlarımız ısrarla Excel'i çalışmalarında saklamaya çalışıyorlar. Buna anlam vermekte zorlanıyorum doğrusu. Programlarının daha profesyonelce görünmesi için bu işi yaptıklarını tahmin ediyorum. Peki bu ne kadar doğru?
Bu hiç doğru değil. Öncelikle bunun bilinmesinde fayda var.
VB'de yapılan bir çalışmayı düşünün. Sonuçta menülerin bulunduğu bir form yapmak için genelde insanlar çırpınırlar. Hatta araç çubuukları eklemek için de çaba sarfedilir. Sonrada bu ana formun içerisine yardımcı formlar eklenir ve bu menülere tıklayarak bu formlar açılır. Vs vs vs.
İşte Excel'in de Ekran görüntüsü bir Formdur sonuçta. Üzerine ızgaralar eklenmiş, menüler ve araç çubukları eklenmiş mükemmel bir formdur. Büyük olasılıkla VB'deki ana form hangi kod yapısıyla hazırlanmışsa, Excel uygulama formu da aynı yapıyla hazırlanmış. Bizler uğraşmayalım diye de bütün her şey tamamlanmaya çalışılmıştır.
Ama daha sonra Excel'e bir UserForm olayı eklenmiştir. Aynı VB'deki alt formlar gibi. Şimdi karmaşa burada yaşanıyor. Excel'in gücü karşısında pek fazla işe yaramayan bu UserForm'lar sanki esas şeylermiş gibi bunların üzerinde işlem yapılıyor ve Excel gizlenmeye çalışılıyor.
Bu işi yapmadaki tek amaç, kendini tatmin ve güzel gösterme duygusudur. Bir süre sonra bu duygunun gereksizliği anlaşılıyor. Eğer anlaşılmıyor ise demek ki daha çok mesafe katedilememiş.
Bu yazımda anlattıklarımdan UserForm kullanmayalım manası çıkartılmamalı. UserFormlar artık Excel'in vazgeçilmezidir. Ama asla Excel değildirler. Her şeye gerektiği kadar değer verilmelidir.
***
Peki Çözüm Nedir? Neler yapmalıyım?
Bu sorulara cevap aramak gerekirse, şimdilik en kolay ve kullanışlı yolu öneririm. XLS olarak hazırladığınız dosyanıza bir menü yolu ekledikten sonra XLA olarak Farklı Kaydedin ve eklenti haline getirin. Dolayısı ile Çalışma Sayfalarınıza kimse müdahale edemeyecektir.

Daha detaylı çözümler ise Geliştiriciler düzeyindedir. Yeri geldiğinde gerek Hazırladığımız kaynak kitaplarda gerekse sitemizde bunlardan da bahsedeceğiz.

Hiç yorum yok:

Yorum Gönder