Bu şablon, web sitelerinde görülen üst menü ve alt menü yapısını Excel UserForm üzerinde oluşturmayı gösterir. Menü başlıkları kodun içine yazılmaz, veritabanından okunur. Böylece kodlar gizlendiğinde ya da korunduğunda da menü içeriği veritabanı üzerinden güncellenebilir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: E12:G19 aralığında yer alan çalışma sayfasıdır. Formülü yoktur; sayfada formu açan bir düğme (CommandButton1) ve bağlantı denemesi için ayrılmış ikinci bir düğme (CommandButton2) bulunur.
- frmMain: Ana UserForm'dur. İçinde MultiPage1 (üst menü sayfaları) ve MultiPage2 bulunur. Form açılırken menü oluşturulur, boyutu değiştirildiğinde menü yeniden yerleşir.
- clsNavMenu: Menünün asıl sınıfıdır. Üst menü, alt menü, bildirim paneli, ayarlar paneli, logo ve aktif öğeyi gösteren işaretçiyi oluşturur.
- clsBtn: Etiketi "btn" olan Label nesnelerini düğme gibi biçimlendirir, fare üzerine gelince imleci el simgesine çevirir.
- mdlConnect: Veritabanı bağlantı modülüdür.
- mdlPublic: Pencere ile ilgili yardımcı yordamları içerir.
Makrolar
- CommandButton1_Click: frmMain formunu açar. Dosyayı denemek için başlangıç noktası budur.
- Connect / Disconnect: ADODB ve Microsoft.ACE.OLEDB.12.0 sağlayıcısıyla, dosyanın bulunduğu klasördeki Db klasöründe yer alan db.accdb dosyasına bağlanır ve bağlantıyı kapatır.
- ConnectToMySql: Yerel makinedeki (localhost) NavMenuDb adlı MySQL veritabanına ODBC ile bağlanma örneğidir. Kullanıcı olarak root görünür. Kodun büyük bölümü yorum satırındadır; çalışması için MySQL ODBC 8.0 sürücüsü gerekir.
- clsNavMenu: GetTopMenu, GetSubMenu, GetNotifications, GetBrandName gibi yordamlarla menü verisini alır. CreateNavMenu, CreateSubMenu ve CreateNotifications kontrolleri çalışma anında üretir. Bildirimler okundu olarak işaretlenebilir.
- mdlPublic: MakeFormResizable formu yeniden boyutlandırılabilir yapar. SetStandAloneForm formu görev çubuğunda bağımsız pencere gibi gösterir. Bunlar user32 API çağrılarıyla yapılır.
Nasıl kullanılır
- Zip dosyasını açın ve .xlsm dosyasını, Db klasörüyle birlikte aynı konumda tutun.
- Dosyayı açıp makroları etkinleştirin.
- Sayfa1'deki ilk düğmeye tıklayarak frmMain formunu açın.
- Menü başlıklarını ve bildirimleri veritabanındaki tablolardan düzenleyin.
- Kendi çalışmanızda clsNavMenu ve clsBtn sınıflarını alıp, formunuzda frmMain'deki Initialize, Resize ve Terminate yapısını uygulayın.