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