Excelde VBA Programlama Visual Basic Application Emine TUNEL
Excel’de VBA Programlama (Visual Basic Application) Emine TUNÇEL Kırklareli Üniversitesi, Pınarhisar Meslek Yüksekokulu
User Form (Kullanıcı Formları) • VBA kod editörüne geçip Insert menüsünden User. Form komutu ile kullanıcı formu oluşturulur. • VBA penceresinin Project bölümünde, Forms adında yeni bir nesne oluşur. Bu nesneye ait olan ilk forma verilen ad User. Form 1’dir. User. Form 1 nesnesi seçili iken, Properties penceresinde, bu forma ait bütün özellikler sıralanmıştır.
User Form (Kullanıcı Formları) • Fare ile form üzerine 2 kez tıklandığında formun kapandığını ve kod penceresinin açıldığını görüyoruz. Private Sub Nesne. Adı_Olay. Adı() End Sub • Nesne. Adı: Kendisine kod yazılacak olan nesnedir. Diğer bir ifade ile üzerine 2 kere tıklayarak kod yazmak istediğimiz nesnenin adıdır. • Olay. Adı: Yazılacak programın çalıştıracak olan olayın adıdır. Yukarıdaki örnekte Click olayı atanmıştır. Yani blok arasına yazdığınız komutları çalıştırmak için nesnenin üzerine 2 kez tıklamanız yeterlidir.
User Form (Kullanıcı Formları) • Buradaki örnekte açılan kod penceresindeki bloğun arasına aşağıdaki kodu yazın: • • • Run menüsünden Run User Sub/User. Form komutu ya da F 5 tuşu ile makroyu çalıştırın. Boş bir formun Excel çalışma sayfası üzerinde açıldığını göreceksiniz. Form üzerinde herhangi bir yere tıkladığınızda mesaj kutusunu göreceksiniz.
User Form (Kullanıcı Formları) • • • Form üzerine bir Command. Button ve bir Text. Box yerleştirelim. Butona tıklandığında Text. Box’a girileni A 1 hücresine yazdıralım. Excel çalışma sayfasına eklediğimiz bir komut düğmesi ile hazırladığımız formun çalışmasını sağlayalım
User Form (Kullanıcı Formları) • Butona çift tıklayarak açılan kod penceresindeki ilgili olaya aşağıda verilen kodları yazalım: • • Şimdi formun çalışmasını sağlayacak makro kodunu yazıp, komut düğmesine atayalım: Bunun için VBA projemize bir modül eklemeliyiz.
User Form (Kullanıcı Formları) • Formun kapanmasını sağlayan ikinci bir Command. Button ekleyelim • Buton isimlerini Properties penceresindeki Caption özelliği ile belirleyebilirsiniz. • Formu kapat butonuna çift tıklayıp açılan kod penceresindeki bloğa aşağıda verilen kodları yazalım:
User Form (Kullanıcı Formları) • Aşağıda verilen formu oluşturalım:
User Form (Kullanıcı Formları) • Forma girdiğimiz personel bilgilerini kayıt edeceğimiz Excel çalışma sayfasının adını Veri olarak değiştirelim: • Veri sayfasına Personel Bilgileri formunun açılmasını sağlayan bir komut düğmesi ekleyin
User Form (Kullanıcı Formları) • Modül sayfanıza aşağıda verilen makro kodunu yazarak, bu makronun Personel Bilgileri düğmesi aracılığı ile çalışmasını sağlayın
• User Form (Kullanıcı Formları) Kayıt ekle düğmesine tıklayarak açılan Click olayı içine aşağıda verilen kodları yazalım:
User Form (Kullanıcı Formları) • • 1. satır: • • İf…Then…Else Bloğu: A 2 hücresi seçilecek Do While…Loop Bloğu: O an aktif olan A 2 hücresinin boş olup olmadığı kontrol ediliyor. Eğer aktif olan hücre boş değilse bir alttaki hücre olan A 3 hücresine geçiliyor. Eğer A 3 hücresi de dolu ise o zaman ilk boş olan A 4 hücresine geçiliyor. Bu şekilde bir sıralama yapılıyor. A 2 hücresi tekrar kontrol ediliyor. Eğer A 2 hücresi boş ise A 2 hücresine 1 değeri atanacak ve tekrar bu hücre seçili hale gelecektir. Eğer A 2 hücresi boş değilse, o anda aktif olan hücreye bir üstteki hücre değerinin 1 fazlası yazılacaktır. Mesela A 3 hücresi dolu ve içinde 3 değeri varsa, bundan sonra ilk boş olan hücre olan A 4 hücresine 4 değeri yazılacaktır.
User Form (Kullanıcı Formları) • • 2. satır: • • 3. satır: • • 4. satır: • • 5. satır: Seçili olan yani o an aktif olan hücrenin sağında bulunan birinci hücreye Text. Box 1 kontrolünün içine girilen ifade yazılacaktır. Aktif olan hücrenin sağında bulunan ikinci hücreye Text. Box 2 kontrolünün içine girilen ifade yazılacaktır. Aktif olan hücrenin sağında bulunan üçüncü hücreye Text. Box 3 kontrolünün içine girilen ifade yazılacaktır. Aktif olan hücrenin sağında bulunan dördüncü hücreye Text. Box 4 kontrolünün içine girilen ifade yazılacaktır.
User Form (Kullanıcı Formları) • • 6. satır: Mesaj kutusunda yazdırılacak olan açıklama bu satırda tanımlanıyor 7. satır: Mesaj kutusunda bulunacak olan düğmeler bu satırda tanımlanıyor. 8. satır: Mesaj kutusunun başlığı tanımlanıyor 9. satır: Kayıt işleminin tamamlandığını belirten mesaj kutusu ekrana getiriliyor.
User Form (Kullanıcı Formları) • Formda bulunan diğer butonların click olayları aşağıdaki gibi tanımlanacak:
User Form (Kullanıcı Formları) • • Forma yeni bir buton ekleyelim. Bu buton Text. Box 1’e girilen personeli Excel çalışma sayfasında arasın, bu personele ait kayıt varsa personel bilgilerini Text. Box kontrollerine aktarsın
User Form (Kullanıcı Formları)
User Form (Kullanıcı Formları) • Excel çalışma sayfasında aranacak personelin adını Text. Box kontrolüne yazmak yerine List. Box ya da Combo. Box gibi bir liste elemanından seçelim. • Öncelikle formun yüklenmesi olayında kayıtlı personel isimlerini List. Box kontrolüne aktarmak için aşağıdaki kodu ekleyin.
User Form (Kullanıcı Formları) • Şimdi List. Box kontrolünde seçilen personel bilgilerini Text. Box kontrollerine aktarmak için Listbox’a çift tıklayarak açılan kod bloğuna aşağıdaki kodları yazın
User Form (Kullanıcı Formları) • Kayıt ekleme işleminde, aynı isimle farklı kayıtlar yapılmasını engellemek için Kayıt Ekle butonun içine (en üste) aşağıdaki kodu ekleyelim
Control Objects (Kontrol Nesneleri)
Control Objects (Kontrol Nesneleri) 1 -) Label • Kullanıcının bilgi alması için kullanılan bir nesnedir. • Form üzerinde oluşturulan grup başlıklarına ait etiket bilgisi vermek ya da hesaplamaların sonucunu yazdırmak için kullanılır. • Bu nesnenin en çok kullanılan özelliği Caption özelliğidir.
Control Objects (Kontrol Nesneleri) 1 -) Label • Caption özelliği Label nesnesi üzerinde başlık yazısını görüntülemek için kullanılır. • Genellikle son kullanıcıya bilgi bu özellik ile sağlanır.
Control Objects (Kontrol Nesneleri) 1 -) Label • Formu aktif hale getirdiğimizde, Label 1 başlığının yerinde "Bu bir Label nesnesidir Bu bir " mesajını görüyoruz. • Belirtilen mesajın Label nesnesinin boyutlarına sığan kısmı görüntülendi. • Auto. Size özelliği ile Label nesnesinin boyutlarını belirtilen başlık bilgisinin tamamı gösterilecek şekilde ayarlayabiliriz
Control Objects (Kontrol Nesneleri) 1 -) Label • Control. Tip. Text özelliği ile fare ile Label nesnesi üzerine gelindiğinde bir açıklama metninin gösterilmesi sağlanabilir.
Control Objects (Kontrol Nesneleri) 1 -) Label • Back. Color özelliği ile Label nesnesinin zemin rengi belirlenir. • Back. Style özelliği ile Label nesnesinin arka tarafında kalan nesnelerin görünüp görünmemesi belirlenir. • Back. Style özelliğinin 2 değeri vardır: • 0 -fm. Back. Style. Transparent: Label nesnesinin altında kalan nesneyi de gösterir. • 1 -fm. Back. Style. Opaque: Label nesnesi altında kalan nesneyi gizler
Control Objects (Kontrol Nesneleri) 1 -) Label • Border. Color özelliği Label nesnesine ait çerçeve rengini değiştirmekte kullanılır. • Border. Style özelliği ile nesne kenarlıklarına ait stil belirlenir. • Border. Style özelliği 2 değer alır: • 0 -fm. Border. Style. None: Nesne kenarlığını gizler • 1 -fm. Border. Style. Single: Nesne kenarlığını gösterir.
Control Objects (Kontrol Nesneleri) 1 -) Label • Font özelliği nesne içerisinde kullanılacak yazı tipi belirlenir. • Fore. Color özelliği ile yazı rengi belirlenir.
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Son kullanıcının bilgi girmesi için kullanılan kontrol nesnesidir. • Control. Source özelliği herhangi bir hücre ile Text. Box kontrolü arasında irtibat kurar. Diğer bir ifade ile, metin kutusuna belirlediğiniz hücre değerini yazdırır.
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Textbox kontrolüne metinsel bir değer atamak için Text özelliği, sayısal değer ataması yapmak için Value özelliği kullanılır. • Drag. Behavior özelliği, bir Text. Box kontrolünde seçilen metnin sürükle-bırak yöntemi ile farklı Text. Boxlara taşınmasını sağlar. • Drag. Behavior özelliği 2 değer alabilir: • 0 -fm. Drag. Behavior. Disabled: Özelliği kapatır • 1 -fm. Drag. Behavior. Enabled: Özelliği Açar
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • • • Enter. Field. Behavior özeliği Text. Box nesnesine yazılan verinin seçimi ile ilgili bir özelliktir. Eğer 0 olarak belirlendi ise Enter tuşuna basıldığında Text. Box içindeki verinin tamamı seçilir. 1 olarak belirlendi ise Enter tuşuna basıldığında imleç Text. Box nesnesi içindeki verinin sonuna gelir 0 -fm. Enter. Field. Behavior. Select. All 1 -fm. Enter. Field. Behavior. Recall. Selection
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu)
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Multi. Line özelliği ile nesne içinde alta yazılabilecek satırlar açılabilir. • True ya da False olmak üzere 2 değer alır • True Text. Box nesnesine birden fazla satır eklenir • False seçilmişse Text. Box nesnesi içine girilenler tek satırda görüntülenir.
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Textbox nesnesinin Multi. Line özelliği True yapılmışsa ve Enter tuşuna basıldığında bir alt satıra geçmek isteniyorsa Enter. Key. Behavior özelliğinin değeri True yapılmalıdır. • Password. Char özelliği Text. Box nesnesini bir şifre kutusu olarak kullanmayı sağlar. • Textbox nesnesi içine girilenler Password. Char özelliği ile belirtilen karakter şeklinde görünür.
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Textbox nesnesi içine girilen verinin bir kısmını veya tamamını seçmiş iseniz, kontrolü başka bir nesneye geçirdiğinizde seçim gizlenir. • Diğer bir ifade ile Textbox nesnesindeki seçimin kaybolduğunu görürsünüz. • Eğer Hide. Selection özelliğinin değerini False konuma getirirseniz, başka bir nesneye geçildiğinde de seçim aynen kalır.
Control Objects (Kontrol Nesneleri) 2 -) Text. Box (Metin Kutusu) • Maxlength özelliği son kullanıcının Text. Box nesnesine girebileceği karakter sayısınırlamak için kullanılır. • Tab. Key. Behavior özelliği Text. Box nesnesi içinde iken Tab tuşuna basıldığında hangi işlemin yapılacağını belirler. Değer True ise Tab tuşuna basıldığında imleç bir tab kareketi kadar sağa gider. Değer False ise Tab tuşuna her basıldığında farklı bir nesneye geçiş yapılır.
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Combo. Box nesnesine veri eklemek için Add. Item metodu kullanılır.
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • List. Row özelliği Combo. Box nesnesinin varsayılan olarak görünen satır sayısını belirlemek için kullanılır.
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Combo. Box listesinin elemanlarını Excel çalışma sayfasından aldırmak için Row. Source özelliği kullanılır. • Excel çalışma sayfasına yeni veriler eklendiğinde, eklenen veriler Combo. Box nesnesinde görünmeyecektir. Çünkü kodda A 1: A 12 hücreleri arasını veri kaynağı olarak belirledik
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Excel çalışma sayfasına yeni veriler eklenecekse hücre aralığı uzun tutularak eklenen her yeni kaydın boş yere yerleşmesi sağlanır. • Ancak bu durumda Combo. Box nesnesine boş satırlar eklenmiş olur. • Bu sorunun çözümü için Count. A metodu ile belirtilen aralıktaki dolu hücrelerin sayısı bulunur. • Worksheet. Function. Count. A(Range("A 1: A 100")) A 1: A 100 aralığında dolu olan (veri girilmiş olan) hücrelerin sayısını verir.
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu)
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Combo. Box nesnesine eklediğiniz öğe bazen çok uzun olabilir. • Fakat listenin varsayılan genişliği forma eklenen Combo. Box nesnesinin genişliği kadardır. • Listenin genişliğini arttırmak veya azaltmak için List. Width özelliği kullanılır. • Combo. Box 1. List. Width = 150
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Combo. Box nesnesine ait listenin biçemini belirlemek için List. Style özelliği kullanılır. • Varsayılan değeri 0’dır • Değeri 1 yaparsak liste elemanlarının başına seçenek düğmesi eklenir. • 0 -fm. List. Style. Plain • 1 -fm. List. Style. Option
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Style özelliği, Combo. Box nesnesinin aşağı doğru açılan listesinin tipini belirlemek için kullanılan bir özelliktir. • Normal Visual Basic programında 0, 1 ve 2 olmak üzere 3 değeri bulunurken Excel’e uyarlanmış olan Visual Basic sayfasında 0 ve 2 özellik seçenekleri bulunmaktadır: • 0 -fm. Style. Drop. Down. Combo • 2 -fm. Style. Drop. Down. List
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • 0 seçeneği varsayılan olarak kullanılan değerdir. Yani liste aşağı doğru açılır ve kutu içindeki değer klavyeden değiştirilebilir. • Listede olmasa da klavyeden girilen öğelerde liste elemanı olarak kabul edilir. • 2 seçeneği ile de liste aşağı doğru açılır fakat klavyeden herhangi bir girişin yapılabilmesi mümkün değildir. • Sadece listede bulunan öğeler seçilebilir.
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Show. Drop. Button. When özelliği, Combo. Box nesnesinin sağ tarafında bulunan liste açma düğmesinin görünüp görünmeyeceği ya da ne zaman görüneceğini belirleyen bir özelliktir. • 0 seçeneği listenin açılmasını sağlayan düğmenin görünmemesini sağlar. • 1 seçeneği, fare ile ya da herhangi bir şekilde Combo. Box nesnesi seçildiğinde liste açma düğmesinin görünmesini sağlayan seçenektir. • 2 seçeneği varsayılan seçenektir. Yani liste açma düğmesi görünür durumdadır
Control Objects (Kontrol Nesneleri) 3 -) Combo. Box(Açılır Kutu) • Show. Drop. Button. When özelliği:
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Combo. Box nesnesinin özelliklerinin hemen aynısını taşır. • Combo. Box nesnesinden farklı olan özellikleri şunlardır: • Column. Count özelliği, List. Box nesnesinin sütun sayısını belirler. Varsayılan sütun sayısı 1’dir. • Column. Heads özelliğinin değeri True yapılarak sütun başlıkları da görünür hale getirilebilir.
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Amacımız aşağıda verilen Excel çalışma sayfasındaki 4 sütunluk veriyi List. Box nesnesine aktarmak ise, Column. Count özelliği ile sütun sayısını belirtmeliyiz:
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Multi. Select özelliği ile List. Box nesne üzerinde çoklu seçim yapılıp yapılmayacağı belirlenir. • Özellik değeri; • 0 seçeneği ise tek seçim yapılabilir. Varsayılan değeri budur. • 1 seçeneği ise liste kutusunda fare ile tıklanan her öğe seçili hale gelir • 2 seçeneği ise belirlenen bir aralığın tek tıklama ile seçilmesi sağlanır. İlk öğeyi seçtikten sonra aralığın sonundaki öğeyi seçmek için Shift tuşu kullanılmalıdır.
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Bound. Column özelliği liste kutusunun hangi sütununun referans alınacağını belirten bir özelliktir. • Varsayılan değeri 1 olarak atanmıştır. • Yani List. Box üzerinde yapılan işlemler yalnızca 1. sütun için geçerlidir. • Bu özelliği değiştirdiğiniz taktirde, hangi sütunun numarasını yazdıysanız, o sütunun öğeleri için işlem yapılacaktır.
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Bound. Column özelliğinin kullanımı;
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Liste kutusunda seçilen bir öğeye ait tek sütundaki değer ile değil de tüm sütunlardaki değerlere ulaşmak istenirse; • Yani List. Box nesnesinde seçilen kayda ait 4 sütundaki değeri de hücrelere aktarmak istersek;
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Liste kutusunun Multi. Select özelliği Çoklu seçeneklerden bir tanesi olarak belirlenip, yapılan tüm seçimler hücrelere aktarmak istenirse, …
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Liste kutusunun Multi. Select özelliği Çoklu seçeneklerden bir tanesi olarak belirlenip, yapılan tüm seçimler hücrelere aktarmak istenirse, •
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • • List. Box nesnesinin List. Count özelliği listenin eleman sayısını verir. • • List. Box nesnesine ait n. elemanın seçili olup olmadığının kontrolü List. Box nesnesinin List. Index özelliği seçili elemanın index numarasını verir. 1. eleman seçili ise List. Index değeri 0 olacaktır. List. Box 1. Selected(n)=True İfadesi ile kontrol edilir. Not: Anlatılan özellikler Combo. Box nesnesi içinde geçerlidir.
Control Objects (Kontrol Nesneleri) 4 -) List. Box(Liste Kutusu) • Form yüklendiğinde 1. listeye 5 farklı il adı eklenecek • 1. listeden bir il seçilip > butonuna tıklandığında seçilen eleman 1. listeden silinip 2. listeye eklenecek • 2. listeden bir il seçilip < butonuna tıklandığında seçilen eleman 2. listeden silinip 1. listeye eklenecek
Control Objects (Kontrol Nesneleri) Örnek Uygulama • İller diye adlandıracağınız Excel çalışma sayfasını aşağıdaki gibi düzenleyin.
Control Objects (Kontrol Nesneleri) Örnek Uygulama • İlceler diye adlandıracağınız Excel çalışma sayfasını aşağıdaki gibi düzenleyin.
Control Objects (Kontrol Nesneleri) Örnek Uygulama • Aşağıda ekran çıktısı verilen kullanıcı formunu oluşturun: • Form yüklendiğinde Combo. Box 1 nesnesine iller sayfasındaki illerin eklenmesini sağlayınız. Sayfaya eklenen yeni kayıtlar listede görünmelidir. • İl seçimi yapıldığında, seçilen ile ait ilçelerin Combobox 2 nesnesine eklenmesini sağlayınız
Control Objects (Kontrol Nesneleri) 5 -) Check. Box(Onay Kutusu) • Genelde form içinde bulunan, bazı nesnelerin seçili olup olmadıklarını (aktif veya pasif olma durumlarını) belirlemeye yarar. • Bunun yanında örneğin bir düğmeye atanan makronun işaretli ise çalıştırılıp, değilse çalıştırılmaması sağlanabilir.
Control Objects (Kontrol Nesneleri) 5 -) Check. Box(Onay Kutusu) • Trip. State Check. Box ve Option. Button nesnelerinin durumlarını belirleyen bir özelliktir. • Trip. State seçeneği False ise nesne ya işaretli ya da işaretsiz olur. • Trip. State seçeneği True olarak değiştirilirse üçüncü bir seçenek olan belirsiz seçeneği de aktif hale gelir.
Control Objects (Kontrol Nesneleri) 5 -) Check. Box(Onay Kutusu) • Aşağıdaki kodu çalıştırdıktan sonra, 1. kutuya tıklamadık, 2. kutuya 1 defa ve 3. kutuya 2 defa tıkladık
Control Objects (Kontrol Nesneleri) 5 -) Check. Box(Onay Kutusu) • Check. Box nesnesinin Value özelliğinin değeri True olduğunda kutucuk onaylı, False olduğunda onaysızdır
Control Objects (Kontrol Nesneleri) 5 -) Check. Box(Onay Kutusu)
Control Objects (Kontrol Nesneleri) 6 -) Option Button(Seçenek Düğmesi) • Grup halinde bulunan seçenek düğmeleri, birçok seçenek arasından yalnızca birini seçmek amacıyla kullanılırlar. • Value özelliği varsayılan olarak False gelmektedir. • Eğer bu özelliği True olarak değiştirirseniz, düğme seçili olacaktır.
Control Objects (Kontrol Nesneleri) 6 -) Option Button(Seçenek Düğmesi)
Control Objects (Kontrol Nesneleri) 6 -) Option Button(Seçenek Düğmesi) • Aşağıdaki form da bulunan 6 option button arasından yalnız birinin seçilmesine izin verir. • Ancak biz 2 farklı gruptan da bir seçim yapmak istiyoruz. • Bu durumda Group. Name özelliği ile aynı grupta olan option buttonları belirlemeliyiz
Control Objects (Kontrol Nesneleri) 6 -) Option Button(Seçenek Düğmesi) • Group. Name özelliğinin kullanımı şu şekilde olmalıdır.
Control Objects (Kontrol Nesneleri) 7 -) Frame (Grup Kutusu) • Genelde seçenek düğmelerini gruplandırmak için kullanılan bir nesnedir. • Frame nesnesinin içine yerleştirilen seçenek düğmeleri aynı zamanda birer grup numarası almış olurlar. • Dolayısıyla seçenek düğmelerini gruplandırmak için Group. Name özelliğinin kullanılmasına gerek kalmayacaktır.
Control Objects (Kontrol Nesneleri) 7 -) Frame (Grup Kutusu) • Forma yerleştirilen frame nesnelerine ayrılan az olduğunda, frame nesnesi içindeki kontrol nesnelerinin hepsi aynı anda görünmeyecektir. • Bu gibi durumlarda Scroll. Bars özelliği ile durumlar kaydırma çubuklarının görüntülenmesi gerekir. • Yandaki formda frame içerisine 5 seçenek düğmesi eklendi. Sonuncusuna erişmek mümkün değil
Control Objects (Kontrol Nesneleri) 7 -) Frame (Grup Kutusu)
Control Objects (Kontrol Nesneleri) 7 -) Frame (Grup Kutusu)
Control Objects (Kontrol Nesneleri) 7 -) Frame (Grup Kutusu)
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) Örnek Uygulama
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Kontrol ettiği nesne içindeki değerleri değiştirmek amacıyla kullanılır. • Genel olarak bir Text. Box nesnesi içinde bulunan sayısal değeri arttırmak ya da azaltmak için kullanılır. • Small. Change özelliği ile spinbutton nesnesinin arttırma ya da azaltma tuşuna basıldığında bağlı olduğu nesnedeki değerin kaçar artacağı ya da azaltılacağı belirlenir.
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Bu değerin birer değil de belirtilen miktar da artıp azalması istenirse Smal. Change özelliği kullanılır
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Spin. Button nesnesinin alabileceği en küçük ve en büyük değerler varsayılan olarak 0 ve 100 dür. • Bu rakamlar Max ve Min özellikleri ile değiştirilebilir.
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Spin. Button nesnesinin arttırma y ada azaltma tuşuna farenin sol tuşu ile sürekli basıldığında, bağlı bulunan nesnedeki değer sürekli değişir. • Çünkü Spin. Button nesnesinin Delay özelliğine varsayılan olarak 50 değeri atanmıştır. • İstenirse bu değer değiştirilerek bağlı bulunan nesnedeki değerin daha hızlı ya da daha yavaş değişmesi sağlanabilir.
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Delay özelliğinin kullanımı
Control Objects (Kontrol Nesneleri) 8 -) Spin. Button (Değer Değiştirici Düğme) • Spin. Button nesnesini form üzerine Dikey ya da Yatay yerleştirmek için Orientation özelliği kullanılır.
Control Objects (Kontrol Nesneleri) 9 -) Scroll. Bar (Kaydırma Çubuğu) • Spin. Button nesnesinden farklı olarak Scroll. Bar nesnesinin varsayılan Min özelliğinin değeri 0 iken Mak özelliğinin değeri 32767 dir.
Control Objects (Kontrol Nesneleri) 9 -) Scroll. Bar (Kaydırma Çubuğu) • Small. Change özelliği ile kaydırma çubuğunun arttırma ya da azaltma düğmeleri ile bağlı bulunan nesne değerinin kaç birim değiştirileceği belirtilir • Large. Change özelliği ile kayma yolu üzerinde herhangi bir yere tıklandığında bağlı bulunan nesne değerinin nasıl değişeceği belirtilir.
Control Objects (Kontrol Nesneleri) 10 -) Toggle. Button (Tahta Düğme) • Command. Button nesnesinden farklı olarak Toogle. Button nesnesine tıklandığında düğme basılı kalır. • Toogle. Button nesnesinin value özelliğinin değeri True ise düğme basılı kalmış demektir.
Control Objects (Kontrol Nesneleri) 10 -) Toggle. Button (Tahta Düğme)
Control Objects (Kontrol Nesneleri) 11 -) Ref. Edit • Refedit, excel çalışma sayfası üzerinden seçim yapmayı yapılan seçimi forma aktarmayı sağlayan bir nesnedir. • Örneğin, hazırlamış olduğunuz programda rapor almak istiyorsunuz ve raporun belirli bir kısmını da yazıcıdan çıkartmak niyetindesiniz. Fakat her defasında farklı bölgelerin çıktısını almak istiyorsunuz. • Bu durumda yazdırılacak alanı belirlemek için Refedit nesnesi kullanılmalıdır
Control Objects (Kontrol Nesneleri) 11 -) Ref. Edit
Control Objects (Kontrol Nesneleri) 11 -) Ref. Edit
Control Objects (Kontrol Nesneleri) 12 -) Image (Resim Kutusu, Görüntü) • Formların üzerinde imaj ekleyebilmek için kullanılan bir kontrol nesnesidir. • Genellikle. bmp, . wmf, . jpg, . gif dosyalarını görüntüleyebilmek için kullanılır. • Properties penceresinde bulunan Picture özelliği ile Image nesnesinde görüntülenmek istenen resim seçilebilir.
Control Objects (Kontrol Nesneleri) 12 -) Image (Resim Kutusu, Görüntü) • Yüklenen resmin tamamı gözükmüyorsa Picture. Size. Mode özelliği kullanılır. • Picture. Size. Mode özelliğinin 3 değeri vardır: • 0 -fm. Picture. Size. Mode. Clip: Varsayılan seçenektir. Resmin tamamını göstermez. • 1 -fm. Picture. Size. Mode. Stretch: Resmin tamamını gösterir. Image nesnesinin tamamına yayıldığı için resim deforme olabilir. • 2 -fm. Picture. Size. Mode. Zoom : Resmin tamamı gözükür.
Control Objects (Kontrol Nesneleri) 12 -) Image (Resim Kutusu, Görüntü) • Image nesnesi içine yerleştirilen resmin boyutları Image nesnesinin boyutlarından küçükse resmin hizalaması Picture. Aligment özelliği ile belirlenir. fm. Picture. Alignment. Top. Left fm. Picture. Alignment. Top. Right fm. Picture. Alignment. Center fm. Picture. Alignment. Bottom. Left fm. Picture. Alignment. Bottom. Right
Control Objects (Kontrol Nesneleri) 12 -) Image (Resim Kutusu, Görüntü) • Image nesnesinin kod içinde nasıl kullanıldığını görelim. • Liste kutusundan seçilen resimlerin Image nesnesi içinde görüntülenmesini sağlayan bir örnek yapalım
Control Objects (Kontrol Nesneleri) 12 -) Image (Resim Kutusu, Görüntü)
Control Objects (Kontrol Nesneleri) 13 -) Multi Page (Çoklu Sayfa) • Multi Page nesnesi, her biri kendi kontrol nesnelerini içeren bir veya daha fazla Page nesnesinden oluşur. • Multi. Page nesnesi, her bir kategori için ayrı bir sayfa oluşturulabilen birden fazla kategoriye ayrılabilir büyük miktarda veriyi işlemek için kullanılabilir.
Control Objects (Kontrol Nesneleri) 13 -) Multi Page (Çoklu Sayfa)
Control Objects (Kontrol Nesneleri) 13 -) Multi Page (Çoklu Sayfa)
- Slides: 101