Ö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.